从表单中获取数据到 Django 中不起作用
Posted
技术标签:
【中文标题】从表单中获取数据到 Django 中不起作用【英文标题】:Getting data from form into Django not working 【发布时间】:2017-11-11 20:50:50 【问题描述】:我正在尝试在 Django 中编写一个让用户登录的简单应用程序。我已经下载了一个漂亮的引导登录模板,但我无法将它连接到我的 Django 项目。当我点击提交时,没有任何反应,这是视图:
def login_view2(request):
if request.method == 'POST':
print("POST METHOD")
form = LoginForm(request.POST)
if form.is_valid():
print("FORM VALID")
uname = form.cleaned_data['username']
pword = form.cleaned_data['password']
user = authenticate(username=uname, password=pword)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect('/')
else:
print("The account has been disabled!")
else:
print("The username and password were incorrect!")
else:
print("LOGIN FORM SHOWN")
form = LoginForm()
return render(request, 'login2.html', 'form': form)
这是表格
<form id="login-form" action="login2/" method="post">
% csrf_token %
<div class="modal-body">
<div id="div-login-msg">
<div id="icon-login-msg" class="glyphicon glyphicon-chevron-right"></div>
<span id="text-login-msg">Type your username and password.</span>
</div>
<input id="login_username" class="form-control" type="text" placeholder="Username" required>
<input id="login_password" class="form-control" type="password" placeholder="Password" required>
</div>
<div class="modal-footer">
<div>
<input type="submit">Login</input>
</div>
</div>
</form>
非常感谢您!
【问题讨论】:
不,这不是你提问的方式。您在问题本身中发布代码的相关部分。 @DanielRoseman 你是对的,对不起。我刚刚编辑了问题。 【参考方案1】:您没有为 HTML 字段提供name
属性,因此浏览器无法向服务器发送任何数据。
您还需要在表单无效时显示错误,使用 form.errors
。
【讨论】:
以上是关于从表单中获取数据到 Django 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Django 表单在 html 模板中不起作用,它只是显示按钮