2016-12-29 10 views
1

私はいくつかのモデルがあり、そのうちの1つはdjango adminを拡張しているユーザーモデルの外部キーです。私はログイン時に自分のセッションに所属するものを表示したい。私は、この認証を定義して、特定のユーザーがデータベース内に存在するかどうかをチェックし、インスタンスとのセッションにリダイレクトします。djangoログインユーザーとそのインスタンスとデータベース内の項目を表示

def auth_view(request): 
    username = request.POST.get('username', '') 
    password = request.POST.get('password', '') 
    user = auth.authenticate(username=username, password=password) 

    if user is not None: 
     auth.login(request, user) 
     return HttpResponseRedirect('/studentloggedin/') 

学生はまた、ユーザ・ログへの外部キーである一方、基本的には、登録は、最初のモデルと学生モデルへの外部キーです。 UserLogはデフォルトのdjango adminを拡張しています。ここでログインしたセッションを、ログイン時に個々のユーザーの詳細を除外するために定義しました。

def studentloggedin(request): 
     registration = Registration.objects.all() 
     students = Student.objects.filter(registration=registration) 
     alluser = UserLog.objects.filter(student=students) 
     context = { 
     'registration': registration, 
     'students': students, 
     'alluser': alluser, 

     } 
     return render(request, "studentloggedin.html", context) 

ここに、ログイン時の情報を表示するテンプレートがあります。

<img 
    {% for student in students %} 

    src="{{ student.student_photo.url }}"> 

    <p>{{ student.previous_school }}</p> 

    {% endfor %} 

しかし、私は以下のエラーが取得しています:私はあなたの再やって考える表現

+0

を@login_required使用することができますか?エラーは、複数のオブジェクトを単一のオブジェクトに移動しようとしていることを意味しています –

答えて

0

として使用サブクエリから返された1行より

以上/ studentloggedin /で

ProgrammingErrorを既にdjangoに付属しているもの:

if request.user.is_authenticated: 
    # Do something for authenticated users. 
    ... 
else: 
    # Do something for anonymous users. 
    ... 

ここから:https://docs.djangoproject.com/en/1.10/topics/auth/default/#authentication-in-web-requests

あなたはstudent.previous_school上のforループを実行してみました

あなたもデコレータが

関連する問題