Я не могу разместить данные в БД.Я использую form.Models и form.save (), но в БД ничего не отображается.Кроме того, я не понимаю, как запросы GET отправляются на сервер.И я не могу успешно выполнить мой запрос POST, даже если я могу отправить POST через кнопку отправки формы (не отправляет информацию в БД).
Я пробовал несколько методов.Я либо не понимаю основы запросов POST / GET, либо что-то упустил в своем коде Django.HTML и FORM визуализируются, как и ожидалось.
VIEW
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>
FORM 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 в моем терминале, когда я нажмуОтправить.Также сбит с толку вопрос о том, как вызывается функция представления и почему «что-нибудь» не печатается.