数据返回错误/不同的值

2024-03-02 21:35:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在努力学习Django的表单。能够从数据中获取值,但返回一个完全不同的数字。例如,我有4个值可供选择(2,3,4,5)。如果我选择2,它将给出已清理的\u数据。get(name\u of \u form\u field)返回5。等等

class PopulationForm(forms.Form):
    districts = forms.ModelChoiceField(queryset=Population.objects.order_by('districtid').values_list('districtid',flat=True).distinct())

用户有4个选项可供选择:2、3、4、5。如果用户选择2,则返回5,以此类推。我不知道发生了什么事。 以下是我的视图.py:

if request.method == 'POST':
        form = PopulationForm(request.POST)
        if form.is_valid():
            print(form.cleaned_data.get('districts'))
            return HttpResponse(form.cleaned_data.get('districts'))

这是我的模板:

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Django Forms Tutorial</title>
</head>
<body>
<h2>Django Forms Tutorial</h2>

<form action="/display/" method="post">
    {% csrf_token %}
    <table>
    {{form.as_table}}

 </table>
<input type="submit" value="Submit" />
</form>
</body>
</html>

Tags: 数据django用户formgetifrequesthtml