[英]Django 1.8 (Python 3.4): Show different templates based on user authorization with Class-Based Views
[英]Creating login and logout class based views in Django 1.8
我正在Django 1.8中學習基於類的視圖,並想知道是否有人可以在這里幫助我。 我已經創建了一個基於函數的登錄和注銷視圖,如下所示:
登錄
def Login(request):
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect('/form')
else:
return HttpResponse("Inactive user.")
else:
return HttpResponseRedirect(settings.LOGIN_URL)
return render(request, "index.html")
登出
def Logout(request):
logout(request)
return HttpResponseRedirect(settings.LOGIN_URL)
任何人都可以幫助我將這些視圖轉換為Django中Class Based Views
嗎? 我對這些東西很陌生,並且無法正確理解它們究竟是如何工作的。 將不勝感激任何幫助!
瀏覽文檔https://docs.djangoproject.com/en/1.8/topics/class-based-views/intro/#using-class-based-views
from django.views.generic import View
class LoginView(View):
def post(self, request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect('/form')
else:
return HttpResponse("Inactive user.")
else:
return HttpResponseRedirect(settings.LOGIN_URL)
return render(request, "index.html")
class LogoutView(View):
def get(self, request):
logout(request)
return HttpResponseRedirect(settings.LOGIN_URL)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.