Django框架
一、Django介绍
1.简介
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插 件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。
2.特点
特点1:对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速。
-
- 提供项目工程管理的自动化脚本工具
- 数据库ORM支持(对象关系映射,英语:Object Relational Mapping)
- 模板
- 表单
- Admin管理站点
- 文件管理
- 认证权限
- session机制
- 缓存
特点2:Django的MVT模式
- M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
- V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
- T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
二、Django工程搭建
1.环境安装
1.创建新的虚拟环境
mkvirtualenv django_py3_1.11 -p python3
2.安装Django框架
pip install django==1.11.11
2.创建项目
django-admin startproject 工程名称
运行:python manage.py runserver
- 与项目同名的目录,此处为demo。
- settings.py 是项目的整体配置文件。
- urls.py 是项目的URL配置文件。
- wsgi.py 是项目与WSGI兼容的Web服务器入口。
- manage.py 是项目管理文件,通过它管理项目。
3.创建子应用
1.创建方法:python manage.py startapp users
-
- admin.py 文件跟网站的后台管理站点配置相关。
- apps.py 文件用于配置当前子应用的相关信息。
- migrations 目录用于存放数据库迁移历史文件。
- models.py 文件用户保存数据库模型类。
- tests.py 文件用于开发测试用例,编写单元测试。
- views.py 文件用于编写Web应用视图。
2.注册子应用
注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。
例如,将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加'users.apps.UsersConfig'。
4.创建视图
1.创建
打开刚创建的users模块,在views.py中编写视图代码。
from django.http import HttpResponse def index(request): """ index视图 :param request: 包含了请求信息的请求对象 :return: 响应对象 """ return HttpResponse("hello the world!")
注意:
-
-
- 视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对象,通常名为request。
- 视图函数的返回值必须为一个响应对象,不能像Flask一样直接返回一个字符串,可以将要返回的字符串数据放到一个HTTPResponse对象中。
-
2.定义路由url
2.1在子应用下面创建一个urls
from django.conf.urls import url from . import views # urlpatterns是被django自动识别的路由列表变量 urlpatterns = [ # 每个路由信息都需要使用url函数来构造 # url(路径, 视图) url(r'^index/$', views.index), ]
2.2在工程总路由demo/urls.py中添加子应用的路由数据。
from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), # django默认包含的 # 添加 url(r'^users/', include('users.urls')), ]
注意:
在这里添加了一个users/ 相当于 Falsk蓝图里面的url_prefix
使用include来将子应用users里的全部路由包含进工程路由中;
r'^users/' 决定了users子应用的所有路由都已/users/开头,如我们刚定义的视图index,其最终的完整访问路径为/users/index/。
3.启动运行
python manage.py runserver