Python 语言Django 框架的简化视图

Python015

Python 语言Django 框架的简化视图,第1张

1 我们在用Django编程时,会发现,经常需要用到列表、详情、修改这些操作。这些操作 几乎可以满足数据编辑的大部分要求。那能不能像YII2脚手架功能一样直接提供一个通用的模板类,只需指定几个必要的参数,所有的功能自己去实现呢。

2 Python 语言Django 框架,刚好提供这样的功能, 它有很多叫法,如 类视图、通用视图、简化视图,都指的是它。我们可以把它看成 Django 框架的脚手架。

3 Django简化视图底层的本质是通过从URL传递过来的参数去数据库查询数据,加载一个模板,利用得到的数据渲染模板(按照路由、视图、模板、模型的路线图)。

4 以下是Django 框架提供的简化视图,可以直接拿来使用。

View ------------------- 所有类视图的基类

TemplateView --------------渲染一个template

RedirectView ----------------重定向类视图

通用显示视图Display view:

DetailView ---------------展示单个object

ListView ------------------展示多个object

通用编辑视图Edit view:

FormView -------------- 显示一个form表单

CreateView ------------ 创建一个对象

UpdateView ------------更新对象

DeleteView --------------删除对象

5 例,路由代码

path('', views.IndexView.as_view(), name='index'),

视图代码

class IndexView(generic.ListView):

template_name = 'polls/index.html'

context_object_name = 'latest_question_list'

def get_queryset(self):

return Question.objects.order_by('-pub_date')[:5]

6 小贴士 6-1通用视图实际上 是类视图的一种,Django类视图的完整架构还是很庞大的。笔者只是提纲挈领,有兴趣 可以试着搜索“使用Django通用视图的get_queryset, get_context_data和get_object等方法”深入学习。

6-2 笔者在看一些程序员在做PHP后台维护时,数据库经常被SQL注入,其实简单点使用addslashes()函数就能解决大部分问题。

如果你正在学习python,那么这10个开源框架,你可千万别错过,这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。虽说不上是全都有,但也足够满足你了。

0.Django:Python Web应用开发框架

众所周知,Python下有许多款不同的 Web 框架。而其中,Django是最具代表性之一,许多成功的网站和APP都基于Django。

Django是是一个全能型框架,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。

相关推荐:《Python教程》

1.Cubes:轻量级Python OLAP框架

Cubes是一个轻量级Python框架,包含OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。

2.Kartograph.py:创造矢量地图的轻量级Python框架

Kartograph是一个Python库,用来为ESRI生成SVG地图。Kartograph.py目前仍处于beta阶段,你可以在virtualenv环境下来测试。

3.Pulsar:Python的事件驱动并发框架

Pulsar是一个来自eBay的高扩展性、高可用性、基于事件驱动的开源实时分析平台和流处理框架,它能够实时收集和处理用户行为和业务事件。

4.Tornado:异步非阻塞IO的Python Web框架

Tornado的全称是Torado Web Server,传说中性能高高的框架。Tornado 是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。另外一点是,Tornado 的设计似乎更注重 RESTful URL。

5.Bottle:微型Python Web框架

Bottle 和 Flask 都属于轻量级的 Web 框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。6.Web2py:全栈式Web框架

Web2py是 Google 在 web.py 基础上二次开发而来的,兼容 Google App Engine 。是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用。

7.Falcon:构建云API和网络应用后端的高性能Python框架

Falcon是一个构建云API的高性能Python框架,是一个面向Hadoop的数据集和处理过程的管理平台。它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。

8.Diesel:基于Greenlet的事件I/O框架

Diesel提供一个整洁的API来编写网络客户端和服务器。支持TCP和UDP。非阻塞I/O使得diesel非常快速并且容易扩展。

greenlets使得diesel有了unwind(to(callbacks(no)))。nose使得测试变得容易。最后,Flask使得你不需要写一个新的网络框架来使用diesel。

9.Flask:一个用Python编写的轻量级Web应用框架

Flask同样也是一个Python编写的Web 微框架,能够快速实现一个网站或Web服务。属于轻量级Web应用框架。花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。

Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。