Code
django
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required, permission_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.shortcuts import redirect
from django.views.generic import View
@login_required(login_url="/login/")
def dashboard(request):
return render(request, "dashboard.html", {"user": request.user})
@permission_required("articles.add_article", raise_exception=True)
def create_article(request):
...
class ProfileView(LoginRequiredMixin, View):
login_url = "/login/"
def get(self, request):
...
def login_view(request):
if request.method == "POST":
user = authenticate(request, username=request.POST["username"],
password=request.POST["password"])
if user:
login(request, user)
return redirect("dashboard")
return render(request, "login.html")