gpt4 book ai didi

python - Django,形式 is_valid() 始终为 false

转载 作者:行者123 更新时间:2023-11-30 22:44:02 25 4
gpt4 key购买 nike

我正在学习 Django,但在表单方面遇到了一些问题。我尝试创建一个简单的表单,在其中输入名称并将其显示在另一个页面上。但 is_valid() 总是返回 false。请帮我找出错误

forms.py

from django import forms

class OrderForm(forms.Form):
user=forms.CharField(max_length=100)

views.py

def order(request):
return render(request, 'myapp/order.html', {})


def contact(request):
username='not logged'

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

if form.is_valid():
username=form.cleaned_data['username']
else:
username='not worked'
else:
form=OrderForm()

return render(request, 'myapp/contacts.html', {'username':username})

order.html

<form name = "form" action = "{% url 'contact' %}" method = "POST" >
{% csrf_token %}
<input type="text" name="username" placeholder="Name">
<button type="submit">Login</button>
</form>

contacts.html

You are : <strong>{{ username }}</strong>

最佳答案

您的表单控件在 HTML 中的名称为 username,而您的表单字段在 Django 中的名称为 user。因此,表单字段中未设置任何内容。

通常,您会将表单放入上下文中,然后将其呈现为 {{ form }} 或类似内容,或者呈现每个字段,而不是构建自己的表单控件。文档显示了如何操作:https://docs.djangoproject.com/en/1.10/topics/forms/#working-with-form-templates

关于python - Django,形式 is_valid() 始终为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41619914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com