0

login() および authenticate() メソッドを使用して Django でユーザーを認証しようとしています。完了したら、認証済みのランディング ページにリダイレクトします。request.user オブジェクトにアクセスしようとすると、ユーザーを正常に認証しているにもかかわらず、常に匿名の使用オブジェクトを取得します。理由はありますか?login.FYI のコードは次のとおりです。Django 登録を使用しています。また、ユーザーは (ユーザー名とパスワードと共に) DB に作成されます。

def login_my_user(request):
    name = request.POST.get('username', '')
    pwd = request.POST.get('password', '')
    user = authenticate(username=name, password=pwd)
    if user is not None:
        if user.is_active:
            login(request, user)
            #redirect to authenticated page

Settings.py ファイル情報

# Middleware Settings

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)


# apps

INSTALLED_APPS = (
    'django.contrib.contenttypes',
    'django.contrib.staticfiles',
    'django.contrib.sessions',
    'django.contrib.auth',
    'test'
)


#Template
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
)
TEMPLATE_DIRS = (
    PROJECT_DIR + "/templates",
)
TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.static',
    'django.contrib.auth.context_processors.auth',
)

ユーザー用ダッシュボードのユーザー認証情報を確認しています

def user_dashboard(request):
    user = request.user
    print user

ここでAnonymousUserの問題が発生します

4

1 に答える 1

0

あなたは何AUTHENTICATION_BACKENDSを使いますか?

わからない場合は、:にオプションを設定してくださいsettings.py

AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
于 2012-09-18T08:41:17.167 に答える