为什么我的视图不向数据库发送POST请求

时间:2019-04-17 16:51:35

标签: django post printing get

我似乎无法将数据发布到数据库。我正在使用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。对于如何调用视图函数以及为什么不打印“任何内容”也感到困惑。

0 个答案:

没有答案