新しいタイプのユーザー プロファイルをサイトに追加していますが、この新しいタイプのユーザー (new_type など) は、既存のユーザーと同じビューにアクセスできないはずです。
私の質問は、追加のような既存のビューコードを変更せずに、同じリクエストパスを使用してユーザータイプに応じて異なるタイプのビューを使用するにはどうすればよいですか?
if user.profile_type == 'blah':
do_this
else:
do_that
各ビューに?
詳細に:
両方のタイプのユーザーに「http://mysite.com/path/」を使用して、異なるロジックを実行し、既存のビューに違いを生じさせずに異なる表示を返したいと思います (変更するビューがたくさんあるため)。
新しいタイプのビューのさまざまなグループを追加し、URL ロジックをオーバーライドして、次のような関連するビューへのリクエスト パスを解決することを考えています。
if user is of new_type
resolve path to related_view_for_new_type
else
resolve as usual
簡単な例として、同じログイン URL から管理者と通常のユーザーにログインし、ユーザーが管理者の場合は、管理者に関連するビューを実行し、django 管理画面を彼女に返します。通常のユーザーの場合は、通常のビューを実行して通常に戻ります。要求している URL を書き換えたり変更したりせずに、彼女にウェブサイト ビューを表示します。(/index/ 例)
そのような方法でDjangoでURLを拡張することは可能ですか?もしそうなら、どのように、または同じリクエストパスのオーバーロードをあきらめて、URLに「/new_type/」を追加する必要がありますか(http://mysite.com/new_type/path/) new_type ユーザー?
ありがとう