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

为何指定字段后Django表单验证不通过?

表单验证异常及字段存储疑问

问题说明

我的表单只有直接渲染完整的{{ post_form }}时,才能通过验证并成功保存到数据库;但像现在这样单独指定字段渲染的话,验证就不通过,我推测是模板编写的问题。

另外想确认:所有字段都设置为非必填的情况下,理论上是不是可以将空值存入数据库?

相关代码片段

HTML模板代码

<section id="newpost-form">
    <form action="{% url 'newpost' %}" method="POST" enctype="multipart/form-data">
        {% csrf_token %}
        <label for="id_title">Title</label>
        {{ post_form.title }}
        <label for="id_image">Thumbnail</label>
        {{ post_form.image }}
        {{ post_form.content }}
        {{ post_form.media }}      <!-- 用于content字段的CKEditor富文本编辑器资源 -->
        <button type="submit" class="btn">Create</button>
    </form>
</section>

forms.py代码

class NewPost(forms.ModelForm):
    class Meta:
        model = Post
        fields = ['image', 'title', 'content', 'status', 'author',]

views.py核心代码

if request.method == 'POST':
    post_form = NewPost(request.POST, request.FILES)
    if post_form.is_valid():
            # 计划在此处手动设置status和author字段的值
            ...

我的需求

我不想在前端表单中显示status和author字段,打算在后端views.py里等表单验证通过(is_valid()执行成功后)再手动处理这两个字段的赋值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:55:55