簡體   English   中英

在Django 1.8中創建基於登錄和注銷類的視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM