使用Bootstrap4登录表单和django用户表单
嘿,我想在我的UserForm中使用Bootstrap的登录视图,但遇到了一些问题 这是模板:使用Bootstrap4登录表单和django用户表单,django,django-forms,django-views,bootstrap-4,Django,Django Forms,Django Views,Bootstrap 4,嘿,我想在我的UserForm中使用Bootstrap的登录视图,但遇到了一些问题 这是模板: <body class="text-center"> <form class="form-signin" action="" method="post"> {% csrf_token %} <img class="mb-4" src="../../assets/brand/bootstrap-solid.svg" alt="" width="72"
<body class="text-center">
<form class="form-signin" action="" method="post">
{% csrf_token %}
<img class="mb-4" src="../../assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
<h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
<label for="form.id_username" class="sr-only">Email address</label>
<input type="text" id="form.id_username" class="form-control" placeholder="Email address" required autofocus>
<label for="form.id_password" class="sr-only">Password</label>
<input type="password" id="form.id_password" class="form-control" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
<p class="mt-5 mb-3 text-muted">© 2017-2018</p>
</form>
</body>
和my views.py:
class LoginView(View):
template_name = 'accounts/login_form.html'
form_class = UserForm
def get(self, request):
form = self.form_class(None)
return render(request, self.template_name, {'form':form})
def post(self, request):
form =self.form_class(request.POST)
user = authenticate(username =request.POST['username'],password=request.POST['password'])
if user is not None:
if user.is_active:
login(request, user)
return redirect('travel:main')
form=self.form_class(None)
return render(request, self.template_name,{'form':form})
def logout_view(request):
logout(request)
return redirect('travel:main')
我基本上想根据form.username验证来自
的输入,并根据form.password验证来自
的输入。你知道问题出在哪里吗 在上述情况下,您必须修复语法错误。在表单中,我们必须为输入/文本/无线电字段提供名称
forms.py
template.html
{%csrf_令牌%}
请登录
电子邮件地址
暗语
登录
&复制;2017-2018
如果我了解您的意思,您想在字段和其他html属性中添加占位符吗?
class LoginView(View):
template_name = 'accounts/login_form.html'
form_class = UserForm
def get(self, request):
form = self.form_class(None)
return render(request, self.template_name, {'form':form})
def post(self, request):
form =self.form_class(request.POST)
user = authenticate(username =request.POST['username'],password=request.POST['password'])
if user is not None:
if user.is_active:
login(request, user)
return redirect('travel:main')
form=self.form_class(None)
return render(request, self.template_name,{'form':form})
def logout_view(request):
logout(request)
return redirect('travel:main')
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput)
username = forms.EmailField()
class Meta:
model = User
fields =['username','password']
<body class="text-center">
<form class="form-signin" action="" method="post">
{% csrf_token %}
<img class="mb-4" src="../../assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
<h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
<label for="form.id_username" class="sr-only">Email address</label>
<input type="text" id="form.id_username" class="form-control" name="{{ form.username.html_name}}" placeholder="Email address" required autofocus>
<label for="form.id_password" class="sr-only">Password</label>
<input type="password" id="form.id_password" class="form-control" placeholder="Password" required name="{{ form.password.html_name}}">
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
<p class="mt-5 mb-3 text-muted">© 2017-2018</p>
</form>
</body>