Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 提交表单django后未找到页面_Python_Django - Fatal编程技术网

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