用户登录表单始终返回无效的表单

时间:2019-06-23 19:21:02

标签: python-3.x django-2.2

我想创建一个登录视图,其形式与django.contrib.auth的用户模型有关。

但是当选中if form.is_valid():时,它总是返回False,并且没有错误。

使用Django 2.2和Python 3.7

这是我的代码:

  • forms.py
class LoginForm(AuthenticationForm):
    class Meta:
        model = User
        fields = ('username', 'password')
  • views.py
class LoginView(View):
    def get(self, req):
        form = LoginForm()
        viewitems = {
            'title': 'Login',
            'form': form
        }
        return render(req, 'login.html', viewitems)

    def post(self, req):
        form = LoginForm(req.POST)
        viewitems = {
            'title': 'Login',
            'form': form
        }

        if form.is_valid():
            # some code to login.
            # never access to this part now.
        else:
            return render(req, 'login.html', viewitems)
  • login.html
{% block content %}
  <div align="center">
    <h2>Login.</h2>
    <form method="post">
      {% csrf_token %}
      {% for field in form %}
        <p>
          {{ field.label_tag }}<br>
          {{ field }}
          {% for error in field.errors %}
            <p style="color: red">{{ error }}</p>
          {% endfor %}
        </p>
      {% endfor %}
      <button type="submit">Login</button>
    </form>
  </div>
{% endblock %}

这很奇怪,但是注册表格对我来说很好。

0 个答案:

没有答案
相关问题