0

このリンクに記載されていることを実行しようとしています: https://docs.djangoproject.com/en/1.5/topics/auth/default/#django.contrib.auth.views.login

したがって、上記のリンクでは、「URL 名: ログイン」について説明していますが、オプションの引数には次のように記載されています。

「redirect_field_name: ログイン後にリダイレクトする URL を含む GET フィールドの名前。指定された GET パラメータが渡された場合、次をオーバーライドします。」

次を指定するにはどうすればよいですか? もう少し下にスクロールすると、

"... ビューは、次で指定された URL にリダイレクトされます。次が指定されていない場合は、settings.LOGIN_REDIRECT_URL にリダイレクトされます".

次の内容と次の内容を指定するにはどうすればよいsettings.LOGIN_REDIRECT_URLですか?

また、ジェネリック ビューを使用して認証する方法の例を誰かが示すことができれば、非常に役に立ちますが、そうでない場合でも、上記の質問が回答される限り問題ありません。彼らがテンプレートの例を示したことは知っていますが、実際のビューを作成して使用する方法の例が必要です。

4

1 に答える 1

2

urls.pyあなたの外見がこれに似ていると仮定します:

from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template

urlpatterns = patterns('',
    url(r'^$', 'mywebsite.index', name='index'),
    url(r'^login/$', 'django.contrib.auth.views.login', name='login'),
    url(r'^logout/$', 'django.contrib.auth.views.logout_then_login', name='logout')
)

次に、設定ファイルに次のように記述します。

LOGIN_REDIRECT_URL = 'index'
LOGIN_URL = 'login'
LOGOUT_URL = 'logout'

これにより、ログイン ページがビューにリダイレクトされmywebsite.indexます ( がname='index'このビューに一致し、 で設定したものであるためLOGIN_REDIRECT_URL)。

彼らがテンプレートの例を示したことは知っていますが、実際のビューを作成して使用する方法の例が必要です。

「実際のビュー」は django at によって提供されるdjango.contrib.auth.views.loginため、ビューを作成する必要はまったくありません。それが、あなたが読んでいるセクションの要点です。テンプレートを提供すると、そのテンプレートがビューにポストされ、ビューが にリダイレクトされLOGIN_REDIRECT_URLます。

@login_requiredデコレーターを使用すると、django は組み込みの django ログイン ビューを介してユーザーをログイン テンプレートにリダイレクトします。

于 2013-10-05T02:28:23.413 に答える