概述
2003年根据一爵士音乐家Django命名,意味着能优雅的演奏(开发)功能丰富的乐曲(web应用)。
是功能最完善的web框架,意味着各模块间紧密耦合。主要特点:
- 完善的文档。http://usyiyi.cn/translate/django_182/contents.html
- 集成数据访问组件:Django的model层自带数据库ORM组件,使开发者无须学习其他数据库访问技术(dbi,SQLAlchemy)等。
- URL映射技术:正则表达管理URL映射。
- 后台管理系统自动生成,几行配置和代码就可以实现完整的后台数据web控制台
- 错误信息非常完整。调试时的错误信息非常完整。
组成结构:
遵循MVC架构的web开发框架。
- 管理工具(management):内置的创建站点,迁移数据,维护静态文件的命令工具。
- 模型(Model): 提供数据访问接口和模块,包括数据字段,元数据,数据关系的定义和操作。
- 视图(View): Django的试图封装了HTTP Request 和 Response 的一系列操作和数据流,主要包括URL映射,绑定模板
- 模板(Template): 是一套Django自己的页面渲染模板语言,用于内置的tags和filters定义页面的生成方式。
- 表单(Form):通过内置的数据类型和控件生成HTML表单。
- 管理站(Admin): 管理Model,快速生成后台数据管理网站。
安装
pip install django
验证是否成功:
|
目录
建立项目
用django-admin建立Django项目,语法如下:
#django-admin startproject 项目名称
django-admin是安装好DJango组件后再Python目录中生成的Django项目管理工具。
eg:
#django-admin startprotject djangosite
会在当前目录中建立了一个子目录djangosite,并生成了django开发默认的文件,:
- manage.py: 是管理本项目的命令行工具,之后进行站点运行、数据库自动生成,静态文件收集等都要通过该文件生成。
- 内层
djangosite/
目录中包含了本项目的实际文件,同时应为其中包含__init__.py
文件,该目录也是一个python包。 - djangosite/settings.py 配置文件,定义了引用的django组件,django项目名等。后续中配置数据库参数等。
- djangosite/urls.py :维护项目的url 路径映射。默认只定义了
/admin
即管理员站点的解释器。 - djangosite/wsgi.py: 定义WSGI的接口信息,用于与其他web服务器集成,一般文件在生成后无需改动。
建立应用
#python manage.py startapp 应用名称
此时的目录和结构:
- admin.py:管理站点模型的声明文件,默认为空
- app.py : 应用信息定义文件。生成了类AppConfig,该类用于定义应用名等Meta数据。
- migrations包: 用于在之后定义引用迁移功能。
- models.py包:添加模型层数据类的文件。
- tests.py:测试代码文件。
- views.py: 定义URL响应函数。
开始
在djangosite/app/views.py 中建立一个路由响应函数:
|
定义了一个函数,返回被HttpResponse()包装的welcome信息。
下面要通过URL映射将用户的HTTP访问与该函数绑定起来。
diangosite/app/新建urls.py文件,管理app中的所有url映射。
urls.py:
|
接下来在djangosite/urls.py中urlpatterns增添一项,声明对应用app中urls.py文件的引用,代码如下:
|
注意 : url()函数的第一个参数用正则表达式来表达URL路由,新添的代码表示所有以app开头的路由。
启动
#python manage.py runserver 127.0.0.1:5000
runserver
是启动网站的关键字。
访问127.0.0.1:5000/app/ 即可看到hello world.