在django中一般定义一个带有request参数的函数用来处理url,但是更推荐用类做
从django.views.generic.base 导入的views有get,post等各种函数,用来处理对应的提交方式。
from django.views.generic.base import View class LoginView(View): def get(self, request): return render(request, ‘login.html‘) def post(self, request): login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = request.POST.get(‘username‘, ‘‘) password = request.POST.get(‘password‘, ‘‘) # 上面的 authenticate 方法 return user user = authenticate(username=user_name, password=password) if user is not None: if user.is_active: login(request, user) return HttpResponsePermanentRedirect(reverse(‘index‘)) return render(request, ‘login.html‘, {‘msg‘: ‘用户未激活!‘}) return render(request, ‘login.html‘, {‘msg‘: ‘用户名或者密码错误!‘}) return render(request, ‘login.html‘, {‘form_errors‘: login_form.errors})
其实就是吧get,post封装到类中,可以直接调用不需要用request.method判断了。
时间: 2024-10-16 21:42:53