Python 设置初始Django ModelForm字段值时出现问题

Python 设置初始Django ModelForm字段值时出现问题,python,django,Python,Django,我试图在表单中设置默认值,该字段是发布文章“public”的日期,但在页面上加载表单时,该字段为空。我试图在header字段中设置默认值任何值,不一定是今天的日期-也不会出现 表格: 观点: html: 我认为你应该在字段表单中添加初始参数。 例如: name = forms.CharField(initial='Your name') 以下是关于这方面的文件: 问题可能是您正在向表单类发送request.POST as参数,即使它是GET请求 form = AddArticleForm(re

我试图在表单中设置默认值,该字段是发布文章“public”的日期,但在页面上加载表单时,该字段为空。我试图在header字段中设置默认值任何值,不一定是今天的日期-也不会出现

表格:

观点:

html:


我认为你应该在字段表单中添加初始参数。 例如:

name = forms.CharField(initial='Your name')
以下是关于这方面的文件:

问题可能是您正在向表单类发送request.POST as参数,即使它是GET请求

form = AddArticleForm(request.POST)
                      ^^^^^^^^^^^^^
因此,我建议如下更新视图:

def add_article(request):
    form = AddArticleForm(request.POST or None)
    if request.method == "POST":
        if form.is_valid():
            form.save()
            return redirect('/articles/')
    context = {
        'form': form
    }
    return render(request, 'html/add_article.html', context)

因此,它将显式处理POST请求,并且仅当存在request.POST时才将request.POST作为参数发送。

这是否回答了您的问题@shaik moeed,不。我在尝试这种方法。有什么有用的答案吗?@shaik moeed,不。但我在使用ModelForm。好的,如果我添加:publish=forms.DateTimeFieldinitial=datetime.now-什么都不会发生。
name = forms.CharField(initial='Your name')
form = AddArticleForm(request.POST)
                      ^^^^^^^^^^^^^
def add_article(request):
    form = AddArticleForm(request.POST or None)
    if request.method == "POST":
        if form.is_valid():
            form.save()
            return redirect('/articles/')
    context = {
        'form': form
    }
    return render(request, 'html/add_article.html', context)