0

私はこれにまったく慣れておらず、これを数時間試していますが、機能していません。お手数をおかけしますが、よろしくお願いいたします。どうもありがとう。

これが私のコードです:

def login_view(request):

    username1 = request.POST['username']
    password1 = request.POST['password']
    user = auth.authenticate(username=username1, password=password1)
    if user is not None and user.is_active:
        # Correct password, and the user is marked "active"
        auth.login(request, user)
        # Redirect to a success page.
        return HttpResponseRedirect("/account/loggedin/")
    else:
        # Show an error page
        return HttpResponseRedirect("/account/invalid/")



def profile_page(request):
    html = loader.get_template('profile_test.html')
    login_view(request)
    c = Context({'user' : username1})
    return HttpResponse(html.render(c))

username1 を profile_page に引用符で囲むと、すべてが完全に機能します。ただし、username1 をグローバル変数として使用すると機能しません。username1 をグローバル変数として使用するにはどうすればよいですか? どうもありがとう、私は何時間もあらゆる種類のことを試してきましたが、何もうまくいきません. ありがとうございました。

4

1 に答える 1

1

HttpResponse が返されないため、login_view 呼び出しは何もしません。

ユーザーがログインしている場合、リクエストにはそのユーザーが自動的に含まれる必要があります。たとえば、次のようになります。

if request.user.is_authenticated():
    user = request.user
    context['user'] = user.username

それ以外の場合は、URL でユーザーを渡し、ビューでユーザー名を取得できます (または、テンプレートでユーザー オブジェクトを使用して、テンプレートに {{ user.username }} を挿入します。

于 2012-12-27T01:30:19.970 に答える