Почему не работает форма в Django?
При нажатии на кнопку "Опубликовать историю", просто обновляется история и всё. Статья не добавляется.
URLS:
app_name = 'history'
urlpatterns = [
...
path('to_write/', views.post_new ,name = 'to_write'),
]
FORMS:
from django import forms
from .models import History
class PostHistory(forms.ModelForm):
class Meta:
model = History
fields = ['history_title', 'history_text']
MODELS:
from django.db import models
class History(models.Model):
history_title = models.CharField('Название вашей ситории', max_length = 75)
history_text = models.TextField('Текст истории')
pub_date = models.DateTimeField('Дата публикации')
VIEWS:
def post_new(request):
if request.method == "POST":
form = PostHistory(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.save()
return redirect('post_detail', pk=post.pk)
else:
form = PostHistory()
return render(request, 'history/list.html', {'form': form})
LISR.HTML:
{% block content %}
<h1>Новая история!</h1>
<form action="{% url 'history:to_write' %}" method="POST">{% csrf_token %}
<input type="text" required="" placeholder="Введите название истории!" name="name"><br>
<textarea name="text" required="" placeholder="Текст истории" cols="30" rows="10"></textarea><br>
<button type="submit">Опубликовать историю!</button>
</form>
{% endblock %}
Ответы (1 шт):
Автор решения: user355827
→ Ссылка
в шаблоне html
{% block content %}
<h1>Новая история!</h1>
<form action="" method="POST">
{% csrf_token %}
{{form}}
<button type="submit">Опубликовать историю!</button>
</form>
{% endblock %}