You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django博客无法新增评论:提交后仅页面刷新无效果问题求助

问题根因

你的评论系统无法提交的核心原因是模板文件blog/post/detail.html中表单属性拼写错误:你将表单提交方法属性method错写为methon,浏览器识别不到正确的提交方法,会默认使用GET方式发送请求,所以post_detail视图中if request.method == 'POST'的逻辑永远不会触发,每次提交都会直接走else分支初始化空表单,表现为页面刷新但评论不保存。

修复步骤

  1. 打开blog/post/detail.html文件,找到评论提交的form标签,修改为正确的写法:
<form method="post">
    {{ comment_form.as_p }}
    {% csrf_token %}
    <p><input type="submit" value="Add comment"></p>
</form>

注:你的评论提交不需要上传文件,原代码中的enctype="multipart/form-data"属性可以直接删除,不影响功能。
2. 修改完成后重启Django开发服务,重新提交评论即可正常保存。

可选优化建议

当前代码没有处理表单验证失败的场景,如果用户提交的内容不符合CommentForm的字段规则,页面只会刷新不会有错误提示,建议在表单上方添加错误提示逻辑,示例如下:

{% if comment_form.errors %}
<div class="alert alert-danger">
    提交失败,请修正以下错误:
    {% for field in comment_form %}
        {% for error in field.errors %}
            <p>{{ field.label }}: {{ error }}</p>
        {% endfor %}
    {% endfor %}
</div>
{% endif %}

内容的提问来源于stack exchange,提问作者ecrire06

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:36:05