ログインハンドラを作成する方法について説明しているthis oneなど、いくつかの基本的なDjangoチュートリアルを見てください。
要旨はこれです:
ユーザーがフォームを送信、ユーザー名および/またはパスワードを評価ビューで。正しい情報(ユーザ名とパスワード)を提出した場合は、この情報をセッションに保存してください。ログインした(制限された)領域にユーザーをリダイレクトし、セッションを確認します。セッションに正しい情報がある場合は、ユーザーにコンテンツを表示させます。そうでない場合は、ユーザーをリダイレクトします。
簡単なログイン・ロジック(説明):
def login(request):
m = Member.objects.get(username=request.POST['username'])
if m.password == request.POST['password']:
# Username and password is correct, save that the user is logged in in the session variable
request.session['logged_in'] = True
request.session['username'] = request.POST['password']
# Redirect the user to the admin page
return redirect('/app_admin/index/')
else:
# Username and/or password was incorrect
return HttpResponse("Your username and password didn't match.")
シンプルな管理ページロジック(説明):これらは、2つの異なるビュー(およびURL)であることを
def admin_index(request):
# Make sure that the user is logged in
if 'logged_in' in request.session and request.session['logged_in']:
# User is logged in, display the admin page
return render(
request,
'app_admin/index.html',
{'username': request.session['username']}
) # You can now use {{ username }} in your view
# User is not logged in and should not be here. Display error message or redirect the user to the login page
return HttpResponse("You are not logged in")
が。なお、 urlpatternsにマップする必要があります。
あなたは本当にHTTPプロトコルの仕組みを学ぶべきだと思うべきです... –