1我们在用Django编程时,会发现,经常需要用到列表、详情、修改这些操作。这些操作几乎可以满足数据编辑的大部分要求。那能不能像YII2脚手架功能一样直接提供一个通用的模板类,只需指定几个必要的参数,所有的功能自己去实现呢。 2Python语言Django框架,刚好提供这样的功能,它有很多叫法,如类视图、通用视图、简化视图,都指的是它。我们可以把它看成Django框架的脚手架。 3Django简化视图底层的本质是通过从URL传递过来的参数去数据库查询数据,加载一个模板,利用得到的数据渲染模板(按照路由、视图、模板、模型的路线图)。 4以下是Django框架提供的简化视图,可以直接拿来使用。 View所有类视图的基类 TemplateView渲染一个template RedirectView重定向类视图 通用显示视图Displayview: DetailView展示单个object ListView展示多个object 通用编辑视图Editview: FormView显示一个form表单 CreateView创建一个对象 UpdateView更新对象 DeleteView删除对象 5例,路由代码 path(,views。IndexView。asview(),nameindex), 视图代码 classIndexView(generic。ListView): templatenamepollsindex。html contextobjectnamelatestquestionlist defgetqueryset(self): returnQuestion。objects。orderby(pubdate)〔:5〕 6小贴士61通用视图实际上是类视图的一种,Django类视图的完整架构还是很庞大的。笔者只是提纲挈领,有兴趣可以试着搜索使用Django通用视图的getqueryset,getcontextdata和getobject等方法深入学习。 62笔者在看一些程序员在做PHP后台维护时,数据库经常被SQL注入,其实简单点使用addslashes()函数就能解决大部分问题。