gpt4 book ai didi

python - 为什么我在使用 cleaned_data 时没有得到干净的数据

转载 作者:太空狗 更新时间:2023-10-30 00:38:12 25 4
gpt4 key购买 nike

我正在尝试为我的站点创建一个登录表单,但是当我在我的 views.py 中使用 cleaned_data 时,我没有获得正确的数据。这是我的代码:

views.py

def login_page(request):
form = LoginForm(request.POST or None)
context = {
'form': form
}
if form.is_valid():
print(form.cleaned_data)
username = form.cleaned_form.get("username")
password = form.cleaned_form.get("password")
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect("/")
else:
print("Error")
return render(request, "auth/login.html", context)


表单.py

class LoginForm(forms.Form):
username = forms.CharField(
widget=forms.TextInput(
attrs={
"class": "form-control",
"placeholder": "Username"
}
)
)
password = forms.CharField(
widget=forms.PasswordInput(
attrs={
"class": "form-control",
"placeholder": "Password"
}
)
)


login.html

<form action="POST">{% csrf_token %}
{{ form }}
<button type="submit" class="btn btn-default">Submit</button>
</form>


这是我在填写用户名和密码字段并单击提交时得到的结果。 print(form.cleaned_data) 显示 url 字段中有我想使用但无法访问的数据。

console

最佳答案

你的观点完全错误,用这个

def login_page(request):
form = LoginForm(request.POST or None)
context = {
'form': form
}
if request.method == 'POST':
if form.is_valid():
print(form.cleaned_data)
username = form.cleaned_data["username"]
password = form.cleaned_data["password"]
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect("/")
else:
print("Error")
else:
print('form not valid')
return render(request, "auth/login.html", context)

和 html 到

<form method="post" action="">
{% csrf_token %}
{{ form }}
<button type="submit" class="btn btn-default">Submit</button>
</form>

关于python - 为什么我在使用 cleaned_data 时没有得到干净的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48074834/

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