を動作しません。私はhtmlの貴様をレンダリングする、のための私は、このようなget_profile()とPERFプロパティを、使用していますこれをやろうとしている私のログインビューでチェックプロファイルは、私はプロファイルの2種類を持って私のプロジェクトでは
def get_profile(user):
""" defines the kind of profile
Example:
from roles.models import *
user = User.objects.all()
profile = get_profile(user[1])
profile.perfil
"""
try:
professor = Professor.objects.get(username=user.username)
return professor
except:
pass
try:
student = Student.objects.get(username=user.username)
return student
except:
pass
return user
:私はこのようなメソッド呼び出しget_profileを()、作成しました:
class LoginValidator(View):
def post(self, request, **kwargs):
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
messages.success(request, 'Logado com sucesso')
if(get_profile(user).perf == 'Professor'):
return render(request,'professor/home.html')
return render(request,'student/home.html')
else:
messages.error(request, 'Usuário não encontrado')
私の質問です:なぜこのメソッドは動作しませんか?これを実装するより良い方法がありますか?
私はまた、代替手段に満足しています。
Obs:。私はDjango 1.11とPython 3.5.2を使用しています
'perfil'は定義されていません。これはタイプミスですか? オプションが 'professor'と' student'である 'profile'に別のフィールドを単に使うのではないのでしょうか?それはあなたの人生を楽にします。 – jgmh