web-dev-qa-db-ja.com

djangoでlogin_requiredリダイレクトURLを指定する方法は?

ビュー機能があります:

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

リダイレクトするこのビュー関数の正確なURLを指定するにはどうすればよいですか?

52
Pol

設定のLOGIN_URL

参照:

72
Bob

あなたはあなたのビューでこれを行うことができます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

デフォルトのログインURLは「/ accounts/login /」です。
変更する場合は、settings.pyに移動します

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

ドキュメントからのこれは役立つはずです: 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

あなたのsetting.pyに移動してください。あなたはこれをsettings.pyファイルのどこにでも追加できますが、一番下に配置したいです。 LOGIN_URL = '/ login /'

注:「/ login /」は、ユーザーをログインページに移動させるURLセグメントです。完全なURLは、この「myexample.com/login/」に似ています。

3
Amazing Angelo