没有合适的资源?快使用搜索试试~ 我知道了~
首页浅析Django处理流程和结构分析django.doc
浅析Django处理流程和结构分析django.doc

浅析Django处理流程和结构分析django.doc浅析Django处理流程和结构分析django.doc
资源详情
资源评论
资源推荐

浅析
Django
处理流程和结构分析
django
五月 28th, 2009
在 Python 的 Web 框架中,Django 是比较成功的。
它是一个高级 Python web framework,鼓励快速开发和干净的、MVC 设计。
包括一个模板系统,对象相关的映射和用于动态创建管理界面的框架。支持 ORM、Cache、
i18n、Admin 等众多特性,是为了满足“Deadlines”项目而开发的。
先介绍一下目录结构:
conf: 主要有两个作用:1) 处理全局配置, 比如数据库、加载的应用、MiddleWare 等 2) 处理 urls 配置,
就是 url 与 view 的映射关系。
contrib:由 Django 的开发者贡献的功能模块,不过既然都已经随版本发布,就表示是官方的。
core: Django 的核心处理库,包括 url 分析、处理请求、缓存等,其中处理请求是核心了,比如处理
fastcgi 就是由 wsgi.py 处理。
db: 顾名思义,处理与数据库相关的,就是 ORM。
dispatch: 其实这不是 Django 原创,是 pydispatch 库,主要处理消费者-工作者模式。
forms newforms oldforms: 处理 html 的表单,不用多介绍。
middleware: 中间件,就是处理 HTTP 的 request 和 response 的,类似插件。比如默认的 common
中间件的一个功能:当一个页面没有找对对应的 pattern 时,会自定加上‘/’重新处理。比如访问/blog 时,
而定义的 pattern 是‘^blog/$’,所以找不到对应的 pattern,会自动再用/blog/查找,当然前提是
APPEND_SLASH=True。
template: Django 的模板,我个人认为这块是非常有创意的。
templatetags: 处理 Application 的 tag 的 wrapper,就是将 INSTALLED_APPS 中所有的
templatetags 目录添加到 django.templatetags 目录中,则当使用 {{load blog}}记载 tag 时,就
可以使用 import django.templatetags.blog 方式加载了。不过这有一个问题,如果其他 Application
目录中也有 blog.py,这会加载第一个出现 blog.py 的 tag。其实在 Django 中,有许多需要处理重名的
地方,比如 template,需要格外小心,这个后续在介绍。
utils: 公共库,很多公用的类都在放在这里。
views: 最基本的 view 方法。
Django 几个重要的概念:
Project: 指一个完整的 Web 服务,一般由多个模块组成。

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1