注:以下内容转载自 现代魔法学院 网站的 Django的标准库django.contrib包介绍 一文,仅供学习使用。
前面我们激活了 Django 后台,我们要使用自动化的站点管理工具(django.contrib.admin),所以最好对 django.contrib 进行了解,它是啥?它是一个强大的功能包,是 Django 的标准库。
Django的标准库存放在 django.contrib 包中。每个子包都是一个独立的附加功能包。这些子包一般是互相独立的,不过有些 django.contrib 子包需要依赖其他子包。
在 django.contrib 中对函数的类型并没有强制要求 。其中一些包中带有模型(因此需要你在数据库中安装对应的数据表),但其它一些由独立的中间件及模板标签组成。
django.contrib 开发包共有的特性是:就算你将整个 django.contrib 开发包删除,你依然可以使用 Django 的基础功能而不会遇到任何问题。当 Django 开发者向框架增加新功能的时,他们会严格根据这一原则来决定是否把新功能放入 django.contrib 中。
django.contrib 由以下开发包组成:
- admin:自动化的站点管理工具。
- admindocs:为 Django admin 站点提供自动文档。
- auth:Django 的用户验证框架。
- comments:一个评论应用,关于这个应用的更多信息请参见 Django 的官方网站。
- contenttypes:这是一个用于引入文档类型的框架,每个安装的 Django 模块作为一种独立的文档类型。这个框架主要在Django 内部被其他应用使用,它主要面向 Django 的高级开发者。可以通过阅读源码来了解关于这个框架的更多信息,源码的位置在 django/contrib/contenttypes/。
- csrf:这个模块用来防御跨站请求伪造(CSRF)。
- databrowse:帮助你浏览数据的 Django 应用。
- flatpages:一个在数据库中管理单一 HTML 内容的模块。
- formtools:一些列处理表单通用模式的高级库。
- gis:为 Django 提供 GIS(Geographic Information Systems)支持的扩展。举个例子,它允许你的 Django 模型保存地理学数据并执行地理学查询。请参看 http://geodjango.org/ 上的文档。
- humanize:一系列 Django 模块过滤器,用于增加数据的人性化。
- localflavor:针对不同国家和文化的混杂代码段。例如,它包含了验证美国的邮编以及爱尔兰的身份证号的方法。
- markup:一系列的 Django 模板过滤器,用于实现一些常用标记语言。
- redirects:用来管理重定向的框架。
- sessions:Django 的会话框架。
- sitemaps:用来生成网站地图的 XML 文件的框架。
- sites:一个让你可以在同一个数据库与 Django 安装中管理多个网站的框架。
- syndication:一个用 RSS 和 Atom 来生成聚合订阅源的的框架。
- webdesign:对设计者非常有用的 Django 扩展。到编写此文时,它只包含一个模板标签{% lorem %}。