3

私は2つのモデルを持っています

from django.contrib.auth.models import User
class Vendor(models.MOdel):
    user = models.ForeignKey(User,related_name = 'vendor')
    ......................................................
    ......................................................
class Customer(models.MOdel):
    user = models.ForeignKey(User,related_name = 'customer')
    ........................................................
    .......................................................

私がしたいのは、ベンダーと顧客のログインを有効にすることです。ベンダーのログイン URL は「vendor/login」で、顧客は「customer/login」です。ベンダーが資格情報を送信している間、ユーザーがdjango を使用してこれを達成する方法を見つけることができませんでした。基本的に必要なのは、クエリセットを使用してユーザーがベンダーであることを確認する User のモデルフォームのようなものです。しかし、django auth はそうではありません。このようなものがあります。

4

2 に答える 2

2

私にとって最善の戦略は、2 つの認証バックエンドを作成することです。1 つはベンダー認証を有効にし、もう 1 つは顧客のためにそれを行います。

AUTHENTICATION_BACKENDS は、認証バックエンド タプルを指定する設定定数です。 ここで、認証バックエンドに関するドキュメントを確認できます。

settings パラメータを使用して実装を宣言します。注文数 django は、成功するまですべてのバックエンドを試します。

于 2013-07-10T14:31:01.293 に答える