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

Django中Save()方法无法将表单数据保存至数据库

问题排查与修复

核心问题出在views.py的create函数中,你仅引用了form.save方法,但未调用它,导致表单数据没有写入数据库。

修复代码

修改views.py中的create函数,将form.save改为form.save():

def create(request):
    
    error = ''
    if request.method == 'POST':
        form = ArticlesForm(request.POST)
        if form.is_valid():
            form.save()  # 添加括号,执行保存方法
            return redirect('./')
        else:
            error = "格式错误"


    form = ArticlesForm()
    
    data = {
        'form': form,
        'error': error
    }

    return render(request, 'news_templates/create.html', data)

额外优化建议

  • 重定向路径建议使用命名URL(需在urls.py中给news视图设置name参数),比如return redirect('news'),避免相对路径可能带来的问题。
  • 模型的Meta类中建议添加verbose_name_plural = 'news',避免admin后台中复数显示异常。
  • 模板中可使用{{ form.as_p }}渲染表单,自动处理字段布局与错误提示,代码更简洁。

验证说明

从服务器日志看POST请求返回302重定向正常,说明表单验证已通过,修改后重新提交表单,数据即可正常写入数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:50:06