web-dev-qa-db-fra.com

Comment spécifier l'URL de redirection login_required dans django?

J'ai une fonction d'affichage:

@login_required
def myview():
    # do something
    # respond something
    pass

Comment spécifier l'URL exacte de cette fonction d'affichage à rediriger?

52
Pol

LOGIN_URL dans vos paramètres

Référence:

72
Bob

vous pouvez le faire dans votre vue fonctionne bien pour moi sans déclarer dans settings.py

from Django.contrib.auth.decorators import login_required

@login_required(login_url='/example url you want redirect/') #redirect when user is not logged in
def myview(request):
    do something
    return something #returns when user is logged in
62
kartheek

l'URL de connexion par défaut est: '/ accounts/login /'
si vous voulez le changer, allez dans settings.py

LOGIN_URL='/path/to/url'
LOGIN_REDIRECT_URL='/path/to/redirecturl'
8
abe312

cela de la documentation devrait être utile: https://docs.djangoproject.com/en/1.5/topics/auth/default/#the-login-required-decorator

@login_required(login_url='/accounts/login/')
def my_view(request):
    ...
7
vijay shanker

Allez dans votre fichier setting.py Vous pouvez l'ajouter n'importe où dans votre fichier settings.py mais je préfère le placer en bas. LOGIN_URL = '/ login /'

REMARQUE: '/ login /' est le segment URL qui amène l'utilisateur à la page de connexion. L'URL complète est similaire à celle "myexample.com/login/".

3
Amazing Angelo