Django を使用して、トラックと会社の 2 種類のユーザーを作成しました。ここにユーザー登録ページの私の登録ページがあります
登録後、ユーザーがトラックか会社かに関するデータがデータベースに移動します。
私のログイン ページでは、EmailID とパスワードのみを入力する必要があります。
一意の EmailID を持つユーザーが、ユーザーのタイプに基づいて有効なページにリダイレクトする方法を知りたいです。
Django を使用して、トラックと会社の 2 種類のユーザーを作成しました。ここにユーザー登録ページの私の登録ページがあります
登録後、ユーザーがトラックか会社かに関するデータがデータベースに移動します。
私のログイン ページでは、EmailID とパスワードのみを入力する必要があります。
一意の EmailID を持つユーザーが、ユーザーのタイプに基づいて有効なページにリダイレクトする方法を知りたいです。
カスタマイズされたユーザー モデルは、おそらく次のようなものです。
class myuser(models.Model):
myUser = models.ForeignKey(User,..)
userType = models.CharField(choices=(('truck','truck'),('company','company'))
ビューは次のようになります。
def login(request):
# authentication and getting the data from POST request to your login page,
# i assume you have a variable called user and you have your user object in it
userType = user.userType
if userType == company:
return HttpResponseRedirect('/some/url/')
if userType == truck:
return HttpResponseRedirect('/some/other/url/')
そのようなものが必要になります。
def user_login(request):
if request.method == 'POST':
form = AuthenticationForm(data=request.POST)
if form.is_valid():
form.clean()
login(request, form.user_cache)
if form.user_cache.type == 'truck':
return HttpResponseRedirect('/some/where')
elif form.user_cache.type == 'company':
return HttpResponseRedirect('/some/where/else')
else:
form = AuthenticationForm()
return render(request, 'login.html', {'form' : form})