混乱

2016-07-24 13 views
0

私はジャンゴでの私のアプリケーション全体の認証を実装し始めているとDjango login_requiredデコレータでかなり成功し、これを行っています。混乱

しかし、私は、これは常にdeafaultのログインURLに再ルーティングされることに気づく:私のために存在しないです/accounts/.../admin/...

私は両者が異なる目的のためであると思っています(管理者用で管理コンソールへのアクセスを許可しています)。しかし、私はアカウントのバージョンのビューを見つけることができません。管理者)。次のように私の質問は、このようにしている:彼らは同じユーザモデルを使用している場合

  1. /accounts/.../admin/...の違いは何ですか?

  2. は、これらの/accounts/...ビューは/テンプレート可能に内蔵されていますか?どのようにそれらをオンにするのですか?それとも手動で作成する必要がありますか?

残念ながら、私はこのトピックに関するドキュメントがかなり混乱していることを発見しました。そのような助けがあれば大いに感謝します。

答えて

1

'/ accounts /'は、認証を処理する際のベストプラクティスのほとんどの人のURLです。アカウントのテンプレートは組み込まれていません。 '/ accounts /'はデフォルトの場所にすぎません。

は、アプリケーションのURLに合わせてURLを変更するには、あなたの settings.pyファイルに移動して、あなたはにリダイレクトするための認証のためにどの場所を指定する LOGIN_URL変数を追加することができます。あなたの場合は、このようになります。

LOGIN_URL = '/admin' 

これは、あなたがログインしていない場合は「/管理」

2

に、DjangoはにリダイレクトしたURLを決定するLOGIN_URLを使用して、すべての未認証の要求をリダイレクトします。既定では、これは'/accounts/login/'に設定されています。あなたが別のログインURLを使用する場合は

、あなたはあなたのLOGIN_URL設定を更新する必要があります。

ユーザーでログインしてDjangoの管理を使用しての欠点は、非スタッフがDjangoの管理を使用してログインすることはできないということです。

Djangoはloginビューを含め、authentication viewsが付属しています。スタッフ以外のメンバーがログインできるようにするには、それを有効にする必要があります。