我似乎无法将数据发布到数据库。我正在使用Forms.Models和form.save(),但数据库中没有任何显示。此外,我不明白如何将GET请求发送到服务器。即使我可以通过表单的“提交”按钮发送POST(不会将信息发送到DB),在我的视图中似乎也无法成功运行POST请求。
我尝试了多种方法。我或者不了解POST / GET请求的基础,或者我的Django代码中缺少某些内容。 HTML和FORM呈现预期的效果。
查看
def MenuCreateView(request,*args,**kwargs):
form = MenuCreateForm(request.POST)
form = MenuCreateForm(request.POST)
if request.method == "POST":
form = MenuCreateForm(request.POST)
if form.is_valid():
# menu = form.save(commit=False)
# menu.employee = request.user
# menu.date = 'Jan 1'
form.save()
context = {"form": form}
return render(request,"menu_create.html",context)
print('Posted')
else:
form = MenuCreateForm()
context = {"form": form}
print('Get requested')
return render(request, "menu_create.html",context)
print('Anything')
HTML
<body>
{% block content %}
<form action='.' method='POST'>{% csrf_token %}
{{ form.as_p }}
<input type='submit' value='Save' />
</form>
{% endblock %}
</body>
表单主体
class MenuCreateForm(forms.ModelForm):
date = forms.DateField()
item_1 = forms.CharField(
required=False,
widget=item_CharField_widget)
...
class Meta:
model= Menu
fields= ['date','item_1','item_2','item_3', 'item_4','item_5',]
当我单击提交时,我希望POST在我的终端上打印POSTED。对于如何调用视图函数以及为什么不打印“任何内容”也感到困惑。