python - Django自定义登录表单不显示输入字段
问题描述
我的登录模板有问题。我不确定,但我认为我正在使用自定义表单,因为路径是 templates/registration/login.html 。所以,我认为它被替换为通常的 django 形式。但是我的表单的输入字段不显示,所以我只有登录按钮和它下面的一些文本。我阅读的类似问题无法解决,所以我希望有人可以在这里提供帮助。如果您需要更多代码,请告诉我。提前致谢。
视图.py
def login(response):
if response.method == "POST":
form = LoginForm(response.POST)
if form.is_valid():
username = form.cleaned_data.get("username")
password = form.cleaned_data.get("password")
user = authenticate(username=username, password=password)
auth_login(response,user)
return redirect("home")
else:
form = LoginForm()
return render(response, "registration/login.html",{})
网址.py
from register import views as v
path("", v.login, name="login"),
登录.html
{% block content %}
<form method="POST">
{% csrf_token %}
<div class="content">
<h3>{{form.username}}</h3>
<h3>{{form.password}}</h3>
<button type="submit">Login</button>
</div>
</form>
<br>
<p>Don´t have an account yet?</p>
<p>Create one <a href="/signup">here</a></p>
{% endblock %}
解决方案
render() 函数将请求对象作为第一个参数,模板名称作为第二个参数,字典作为可选的第三个参数。
所以,你应该{"form": form}
作为第三个参数传递给渲染函数。
推荐阅读
- task - Verilog:为局部变量连续分配输出的任务
- c++ - c++程序未正确打印二维矢量网格但已关闭
- excel - 如何运行具有特定变化和布局的 IW29 并将其结果复制到 excel?
- gradle - 如何将 javascript 依赖项打包到 Kotlin JS 项目 JAR 中?
- java - 如何检索 parseObject 子类的指针 [PARSE SERVER]
- python - 使用正则化时手动计算的验证损失与报告的 val_loss 不同
- java - 创建不兼容的数字子类型
- node.js - Sequelize 在更新时抛出无效值 [Function]
- xamarin - App Center Distribute – Xamarin Forms 的应用内更新
- php - 砌体布局与foreach?