Python 提交表单django后未找到页面
我的论坛中有一个评论模型,当我试图提交它时,它会说:Python 提交表单django后未找到页面,python,django,Python,Django,我的论坛中有一个评论模型,当我试图提交它时,它会说: "Page not found - /POST?csrfmiddlewaretoken". views.py: @login_required def comment(request, pk): if request.method == 'POST': form = CommentCreationForm(data=request.POST) if form.is_valid()
"Page not found - /POST?csrfmiddlewaretoken".
views.py:
@login_required
def comment(request, pk):
if request.method == 'POST':
form = CommentCreationForm(data=request.POST)
if form.is_valid():
comment.post = get_object_or_404(Post, pk=pk)
comment.writer = request.user
comment = form.save()
messages.info(request, 'comment published')
return JsonResponse({'message': 'Thank you for your comment'}, safe=False)
else:
form = CommentCreationForm()
html文件:
<form action="POST"> {% csrf_token %}
{{ form.text.errors }}
<label for="{{ form.text.id_for_label }}">comment:</label>
{{ form.text }}
<button id="comment" type="submit">comment</button>
</form>
{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
{%csrf\u令牌%}
{{form.text.errors}
评论:
{{form.text}}
评论
{%if error\u message%}{{{error\u message}{%endif%}
URL.py:
path('<int:pk>/comment/', views.comment, name='comment'),
path('/comment/',views.comment,name='comment'),
顺便问一下,你能帮我用ajax制作吗?你必须将url添加到属性action和
POST
添加到方法属性:
<form action="{% url 'comment' post.pk %}" method="POST"> {% csrf_token %}
{{ form.text.errors }}
<label for="{{ form.text.id_for_label }}">comment:</label>
{{ form.text }}
<button id="comment" type="submit">comment</button>
</form>
{%csrf\u令牌%}
{{form.text.errors}
评论:
{{form.text}}
评论
在
{%url'comment'post.pk%}
中也提供post.pk
您能显示url.py
吗?此外,完全回溯也很有用。@NKSM path('/comment/',views.comment,name='comment'),您的方法视图中似乎也出现了错误。您必须在save()之前添加post和user,例如:form.instance.post=post
和form.instance.writer=user