Django类方式写view

问题:

  Django官方教程中都是通过def函数方式来写view,如何通过类方式写view以及为何要通过类方式写view?

那,如何解决这个问题?

  1. 用户访问浏览器,一般两种方式,get获取网页和post提交数据,get也可以提交数据,以一种明文形式显示在url中,post提交的数据url中不显示,一种安全的数据提交方式,get方式提交数据一般应用于一些排序方式和类别过滤中,post用于用户提交的表单数据,比较隐私的数据,get方式提交数据为小数据信息,而post方式提交数据可以是大数据信息
  2. 导入View基类
  3. 写一个view类,继承View基类,下面有两个方法,get和post方法
  4. 在urls中通过类方法.as_view() 方式 调用这个view类
  5.  通过前端提交数据的方式,采用不同的方法,实现url复用,也就是或get和post共用一个url,如果函数方式写view需要写判断提交方式逻辑,还有类实现了很好的封装,而函数没有,很容易被其他函数影响
__author__ = 'beimenchuixue'
__blog__ = 'http://www.cnblogs.com/2bjiujiu/'

# 导入View基类
from django.views.generic.base import View
# 导入模版渲染函数
from django.shortcuts import render


# 这个是用户登录的验证类
class LoginView(View):
    """登录验证"""
    # get方式获login页面
    def get(self, request):
        
        return render(request, 'login.html', {})
    
    # 用户提交表单,返回主页
    def post(self, request):
        """提交表单"""
        return render(request, 'index.html', {})

  urls中,导入LoginView,调用.as_view方法

url(r'^login/$', LoginView.as_view(), name='login')

  

原文地址:https://www.cnblogs.com/2bjiujiu/p/7453054.html