に非アクティブなユーザーのためにFalseを返すlogin.html
、私が持っている:は、私のテンプレートでは、テンプレート
{% if form.errors %}
{% if user.is_authenticated %}
<div class="alert alert-warning"><center>Your account doesn't have access to this utility.</center></div>
{% else %}
<div class="alert alert-warning"><center>Incorrect username or password!</center></div>
{% endif %}
{% endif %}
私がやろうとしていますどのようなフォーム送信後、ユーザーが別の表示、非アクティブである場合、ありますエラーメッセージが表示され、ユーザーが単に認証されていない場合、不正なユーザー名パスワードエラーメッセージが表示されます。これは機能しません。常に「不正なユーザー名またはパスワード!」と表示されます。どちらの場合もただし、ビュー内でuser.is_authenticatedは、アクティブでないユーザーの場合でもTrue
を返します。
私はこれを行うために他の道がありますか?また、私はform.errors
を印刷しようとすると、それは非アクティブなユーザーのための「このアカウントがアクティブでない」というテキストを示していても、あまりにも
{% if 'inactive' in form.errors %}
しかし、このdoesntの仕事を試してみました。
EDIT:ビューのために 、私は単純にカスタムログインビュー内Djangoのログインビューを使用しています
views.py:
from django.contrib.auth.views import login, logout
from django.shortcuts import render, redirect
def custom_login(request, **kwargs):
if request.user.is_authenticated():
return redirect('/homepage/')
else:
return login(request, **kwargs)
ビューの関連部分を表示できますか? –
@MosesKoledoye私は単にdjangoのデフォルトのログインビューを使用しています。更新された質問 – MohitC