1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| from django.shortcuts import render, HttpResponse, redirect from app01 import models from django.views import View
def auth(func): def inner(request, *args, **kwargs): if request.session.get('is_login'): return func(request, *args, **kwargs) else: return redirect('/login/') return inner
def login(request): if request.method == 'GET': return render(request, 'login.html') else: name = request.POST.get('name') password = request.POST.get('password') res = models.User.objects.filter(name=name, password=password).first() if res: request.session['name'] = name request.session['password'] = password request.session['is_login'] = True return redirect('/order/') else: return HttpResponse('用户名或密码不正确')
from django.utils.decorators import method_decorator
@method_decorator(auth, name='get') class Index(View): def get(self, request, *args, **kwargs): return HttpResponse('index')
|