【发布时间】:2021-05-03 20:53:06
【问题描述】:
我不知道我是否做错了,但即使我在 django 表单中设置了初始值,该值也不会显示在表单中。
class EditForm(forms.Form):
title = forms.CharField()
content = forms.CharField()
def edit(request, name):
initial_data = {
'title' : name.capitalize(),
'content' : util.get_entry(name)
}
if request.method == "POST":
form = EditForm(request.POST, initial=initial_data)
if form.is_valid():
title = form.cleaned_data['title']
content = form.cleaned_data['content']
util.save_entry(title, content)
return HttpResponseRedirect(reverse('wiki:index'))
return render(request, "encyclopedia/edit.html", {
"name" : name.capitalize(),
"content" : util.get_entry(name),
"form" : NewTaskForm()
})
我正在尝试显示 Markdown 存档的名称和内容以编辑同一文件,整个应用程序运行正常(导入和保存文件)。
服务器不显示任何错误消息并且页面加载没有问题。 (如果问题有问题,我道歉,我的英语不是最好的)
【问题讨论】:
-
您想为 NewTaskForm 提供初始值吗?如果是这样,请将其添加到那里:
"form" : NewTaskForm(initial = initial_data)。此外,我也不清楚为什么您的视图中有两种不同的表单:EditForm 和 NewTaskForm。这些是一样的吗? -
我没有意识到我引用了错误的表格哈哈哈,但现在它可以工作了,非常感谢