Django 1.8手写表格没有POST数据

时间:2015-07-11 06:57:32

标签: django django-forms

我对我遇到的问题感到非常沮丧。我有一个大写的手写(不使用Django的形式),我只是试图从视图中的输入访问数据(在这种情况下,一些输入发布,其他输入不是)。

暂时搁置该表格的细节,因为有太多的东西在起作用,在我的故障排除过程中,我写了一个我能想到的最简单的表格,现在除了csrf_token之外我没有获得POST数据。

我不知道为什么会这样,因为类似的(并且更复杂)类似于我正在运行的其他几个django项目。对于这个例子,我尝试使用action =“”也无济于事。有什么东西让我非常明显吗?

这是html:

<!DOCTYPE html> 
<html> 
 
<head> 
</head> 
 
<body> 
<form method="POST" id="theForm" action="/simpleForm/">{% csrf_token %} 
        <input type="text" id="theText" value="Where am I?" /> 
        <input type="hidden" id="hiddenInput" value="I don't exist" /> 
        <input type="submit" /> 
 
</form> 
 
</body> 
 
</html>

以下是检查数据的简单视图:

from django.shortcuts import render

def simpleForm(request):

    if (request.method == 'POST'):

        print('In post')
        print(request.POST)

        for i in request.POST.keys():

            print('key: {0} value: {1}'.format(i, request.POST[i]))

        return render(request, 'simpleForm.html')

    else:

        return render(request, 'simpleForm.html')

1 个答案:

答案 0 :(得分:5)

你错过了这个名字&#39; HTML表单中标记的属性。没有这些,Django不会将它们添加到request.POST

<form method="POST" id="theForm" action="/simpleForm/">{% csrf_token %} 
        <input type="text" id="theText" name="mytext" value="Where am I?" /> 
        <input type="hidden" id="hiddenInput" name="myhidden" value="I don't exist" /> 
        <input type="submit" />