Я ввожу текст в форму, используя textarea (переносы строк важны):
Первая строка
Вторая строка
Третья строка
Однако, когда джанго генерирует, это получается в виде:
Первая строка Вторая строка Третья строка
Как исправить?
# workouts/urls.py
from django.conf.urls import url
from .views import AddWorkoutView
from .views import WorkoutsListView
app_name = 'workouts'
urlpatterns = [
url(r'^add$', AddWorkoutView.as_view(), name="add_workout"),
url(r'^list$', WorkoutsListView.as_view(), name="workouts_list"),
]
# workouts/views.py
from django.views.generic import FormView, ListView
from .forms import AddWorkoutForm
from .models import Workout
class AddWorkoutView(FormView):
template_name = "workouts/add_workout.html"
form_class = AddWorkoutForm
success_url = '/success'
def form_valid(self, form):
form.handle_valid_form()
return super(AddWorkoutView, self).form_valid(form)
class WorkoutsListView(ListView):
model = Workout
template_name = "workouts/workouts_list.html"
def get_context_data(self, **kwargs):
context = super(WorkoutsListView, self).get_context_data(**kwargs)
context['workout'] = self.model
return context
# workouts/models.py
from django.db import models
from django.db.models import CharField
class Workout(models.Model):
workout_text = CharField(max_length=500)
def __str__(self):
return self.workout_text
# workouts/forms.py
class AddWorkoutForm(forms.Form):
workout_text = forms.CharField(max_length=500, widget=forms.Textarea)
def handle_valid_form(self):
workout_text = self.cleaned_data['workout_text']
new_workout = Workout.objects.create(workout_text=workout_text)
new_workout.save()
<!--add_workout.html-->
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Добавление тренировки</title>
</head>
<body>
<form method="post" action="{% url "workouts:add_workout" %}">
{% csrf_token %}
{{ form }}
<br>
<input type="submit" value="Отправить">
</form>
</body>
</html>
<!--workouts_list.html-->
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Тренировки</title>
</head>
<body>
<h1>Тренировки</h1>
<ul>
{% for workout in object_list %}
<li>{{ workout.workout_text }}</li>
{% empty %}
<li>Тренировок еще не было</li>
{% endfor %}
</ul>
</body>
</html>
Можно воспользоваться фильтром linebreaks
{{ workout.workout_text|linebreaks }}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Вернее, он работает, но не так как я хотел быЯ задаю блокам, которые стоят в
Всем доброго дня! В первый раз столкнулся с такой проблемой на айфонах http://dropmefilescom/lq8bu - ссылка на демонстрацию заказчика
Доброго времени сутокПодскажите как лучше всего в HTML разметить такой шаблон? Таблицей?