簡體   English   中英

在Django中添加評論

[英]Add Comment In Django

我有代碼,但是寫注釋時不寫,並且錯誤“ 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>

當我通過管理頁面添加評論時,它帶有錯誤的詳細信息,這是下載教程的鏈接 ,如果可以告訴我是什么問題以及如何保存它

您的評論表單的操作指向“ / post_list”,它大概是一個呈現帖子列表的列表視圖。 該視圖不知道如何處理POST請求,因此出現405錯誤。

它應該指向處理並保存注釋的視圖的URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM