簡體   English   中英

Django 注釋錯誤

[英]Django Commenting Errors

我是 Django 的新手,並且正在我的博客網站上使用 django-comments-xtd package 包含評論功能。

我正在按照“https://django-comments-xtd.readthedocs.io/en/latest/tutorial.html”上指定的教程進行操作,但每當我出現“DoesNotExist at /comments/post/”時,它總是給我一個錯誤試圖提交任何評論

這是來自 DetailView 我的博客模板的評論部分代碼:

{% if comment_count %}
    <hr/>
    <div class="comments">
        {% render_comment_list for object %}
    </div>
{% endif %}


<div class="card card-block mb-5">
    <div class="card-body">
        <h4 class="card-title text-center pb-3">Post your comment</h4>
        {% render_comment_form for object %}
    </div>
</div>

這是我的名為 PostDV 的 DetailView:

class PostDV(DetailView):
    model = BlogModel

這是我現在遇到的錯誤:

DoesNotExist at /comments/post/
Site matching query does not exist.
Request Method: POST
Request URL:    http://127.0.0.1:8000/comments/post/
Django Version: 3.1.6
Exception Type: DoesNotExist
Exception Value: Site matching query does not exist.

During handling of the above exception (Site matching query does not exist.), another exception occurred:
comment = form.get_comment_object(site_id=get_current_site(request).id) 

以前有人遇到過這種問題嗎? 非常感謝您的幫助!

如您使用的 package 的快速入門指南 [django-comments-xtd Docs]中的第二點所述:

通過將'django.contrib.sites'添加到INSTALLED_APPS並定義SITE_ID啟用“站點”框架 訪問管理站點並確保Site實例的 domain 字段指向正確的域(運行默認開發服務器時為localhost:8000 ),因為它將用於創建評論驗證 URL、后續取消等。

您需要啟用站點框架,設置SITE_ID設置並確保正確保存域。 要按照 Django 文檔中的說明執行此操作(在上面的引用中鏈接):

  1. “django.contrib.sites”添加到您的INSTALLED_APPS設置中。

  2. 定義SITE_ID設置:

     SITE_ID = 1
  3. 運行遷移

之后 go 到管理站點並編輯站點 object 將創建為您的服務器具有正確的域(在開發中localhost:8000127.0.0.1:8000等,在生產中取決於您的站點)

暫無
暫無

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

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