Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Bootstrap4登录表单和django用户表单_Django_Django Forms_Django Views_Bootstrap 4 - Fatal编程技术网

使用Bootstrap4登录表单和django用户表单

使用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"

嘿,我想在我的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" 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">&copy; 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">&copy; 2017-2018</p>
</form>
</body>