1

ユーザーがログインしたときに表示されるdjangoメッセージを設定しましたが、メッセージは管理者にのみ表示されます。

accounts/views.py


def login_page(request):
    form = LoginForm(request.POST or None)
    context = {
        'form':form
    }
    next_ = request.GET.get('next')
    next_post = request.POST.get('next')
    redirect_path = next_ or next_post or None
    if form.is_valid():
        username = form.cleaned_data.get("username")
        password = form.cleaned_data.get("password")
        user = authenticate(request, username=username,password=password)
        if user is not None:
            login(request, user)
            try:
                del request.session['guest_email_id']
            except:
                pass
            if is_safe_url(redirect_path,request.get_host()):
                return redirect(redirect_path)
            else:
                messages.info(request,"You are now logged in")
                return redirect("/")
        else:
            messages.error(request,"Something went wrong")
            print("Error")
    return render(request,"accounts/login.html", context)

設定.py

MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'

'OPTIONS': {
'context_processors': [             
    ...
    'django.contrib.messages.context_processors.messages',

base.html

{% if message is not None %} {% for message in messages %}{{ message }}{% endfor %}{% else %}{% endif %}

4

1 に答える 1