我有代码,但是当我写评论而不是写它,并且错误 " POST / post_list HTTP / 1.1" 405 0
在views.py中:
class AddPost(View):
def get(self,request):
form = AddPostForm()
context = {'form':form}
return render(request,'add_post.html',context)
def post(self,request):
form = AddPostForm(request.POST)
if form.is_valid():
form.save()
return redirect('/')
else:
context = {'form':form}
return render(request,'add_post.html',context)
在forms.py
中class AddCommentForm(ModelForm):
def __init__(self,*args,**kwargs):
super(AddCommentForm,self).__init__(*args,**kwargs)
self.helper = FormHelper(self)
self.helper.layout.append(Submit('submit','Add'))
class Meta:
model = Comment
exclude = ['post']
labels = {
'name' : 'Nickname',
'comment' : '',
}
error_messages = {
'name':{
'unique' : 'This Title has been used !'
}
}
post_content.html中的
{% extends 'base.html' %}
{% load static %}
{% block title %} {{ post.title }} {% endblock %}
{% block content %}
<div align="center" class="divtw" style="width: 50%">
<h1>{{ post.title }}</h1>
<h2>{{ post.text }}</h2>
<h5>{{ post.author }}</h5>
<hr>
{% for comments in post.comment_set.all %}
<div align="left">
<h5>{{ comments.name }}</h5>
<p>{{ comments.comment }}</p>
</div>
<hr>
{% endfor %}
</div>
<div align="left">
{% include 'add_comment.html' %}
</div>
{% endblock %}
在add_comment.html
中{% load crispy_forms_tags %}
<form method="post" action="/post_list">
{% csrf_token %}
{% crispy form %}
</form>
当我通过管理页面添加评论时,它会出现错误 有关详细信息,请参阅下载教程link 如果可以告诉我问题是什么以及如何保存它
答案 0 :(得分:0)
评论表单的操作指向&#34; / post_list&#34;,这可能是一个列表视图,用于呈现帖子列表。该视图不知道如何处理POST请求,因此405错误。
它应该指向处理和保存评论的视图的URL。