Django框架
1.WEB与服务器
1.WEB:表示用户可以浏览的网页内容(HTML,CSS,JS)
2.服务器
专门给用户提供服务的一台机器
1.硬件与软件
硬件范畴:一台机器
软件范畴:一个能够接受用户请求并给出响应的程序
1.APACHE
2.TOMCAT
3.IIS(InternetInformationService)
4.Nginx
2.服务器的作用
1.存储WEB上所需要的信息(HTML,图片,js,css,音视频)
2.处理用户的请求(request)并给出响应(response)
3.执行服务器端的程序:查找数据库
3.服务器与WEB之间的关系
WEB需要放在服务器上才能够被用户访问
2.框架
1.什么是框架
框架是一个为了解决开放性问题而存在的一种结构.框架本身会提供一些最基本的功能.我们只需要在基本功能之上搭建属于自己的操作即可.
2.PYTHONWEB框架
1.Django:重量级的WEB框架
2.Tornado:异步框架
3.Flask:轻量级框架
3.Django框架
1.什么是Django
是一个开源框架,2005年发布,采用Python语言编写的.早期是做新闻和内容管理的网站的.Django本身提供了强大的后台管理系统.
2.Django的框架模式-MTV
M:Models层
模型层,负责数据库建模以及CRUD的操作
T:Templates层
模板层,处理用户显示的内容的,比如:html
V:Views层
视图层,处理与用户交互的部分内容
MVC:三层架构
M:Models,模型层,与数据库打交道
V:Views,视图层,处理用户显示的内容的
C:Controller,控制器层,处理与用户交互的部分内容
MTVMVC
M....M
T....V
V....C
3.Django的官方介绍
官网:http://www.djangoproject.com
中文文档:http://djangobook.py3k.cn/2.0/
4.Django框架的使用
1.安装Django框架
1.查看已安装的Django版本
1.进入到终端以及python交互模式
python3/ipython3
2.交互模式中输入importdjango
如果未报错:当前环境下已经安装好Django
如果报错:当前环境未安装过Django
3.查看已安装的版本
交互模式中:django.VERSION
2.安装
1.在线安装-使用pip/pip3
sudopip3installdjango
(安装Django的最新版本)
sudopip3installdjango==1.11.8
(安装Django的指定版本)
2.离线安装
1.下载Django包
2.在环境下解压Django包
tar-xvfDjango-1.11.8.tar.gz
3.进入到目录中,找到setup.py文件
sudopython3setup.pyinstall
2.使用Django
1.创建目录
用于保存所有的Django项目
mkdirDjango
使用django-admin指令创建Django项目
语法:django-adminstartproject项目名
2.启动服务,访问网站
在项目中找到manage.py
通过manage.py启动项目(服务)
python3manage.pyrunserver
3.访问网站
启动服务之后,浏览器访问
http://localhost:8000
http://127.0.0.1:8000
3.Django项目结构介绍
1.manage.py
负责执行Django中的各项操作
如:
启动服务:runserver
创建应用:startapp
......
2.主目录(目录名称与项目名称一致)
1.__init__.py
项目的初始化文件,服务被启动时,该文件自动被执行
2.urls.py
项目的基础url配置文件(路由配置文件)
3.wsgi.py
应用服务器配置文件
4.settings.py
项目的配置文件
1.BASE_DIR:获取当前项目的绝对路径
2.DEBUG:调试模式
开发过程:推荐使用True
上线运行:必须改为False
3.ALLOWD_HOSTS
设置允许访问本项目的地址列表
如果为空,只有本机能访问(localhost/127.0.0.1)
推荐写['*'],任何表示该机器的地址都可以访问当前项目
如果允许被其他机器访问的话,启动服务时,必须使用以下方式:
./manage.pyrunserver0.0.0.0:端口号
4.INSTALLED_APPS
指定已安装的应用,如果有自定义应用的话,需要在此注册
5.MIDDLEWARE
注册中间件
6.ROOT_URLCONF
指定项目的基础路由配置文件
7.TEMPLATES
指定模板的信息
8.DATABASES
指定数据库的信息
9.LANGUAGE_CODE
语言设置,如果需要中文的话,允许将值更改为"zh-Hans"
10.TIME_ZONE
指定时区,建议修改为"Asia/Shanghai"
4.URL的使用
1.urls.py
默认在主目录中,主路由配置文件,包含所有的地址映射
2.测试
1.在主目录中,创建views.py
作用:包含所有定义好的视图(处理程序)
3.url函数
作用:为了匹配用户的访问路径
语法:
url(regex,views,kwargs=None,name=None)
1.regex:允许是正则表达式,匹配请求的url的
2.views:对应的视图处理函数
3.kwargs:字典,用来向views传参的,如果没有参数的话则可以省略
4.name:字符串类型,为url起别名,在地址反向查询时使用
4.通过url向视图传参
http://localhost:8000/run/15
http://localhost:8000/run/26
http://localhost:8000/run/78
1.使用正则表达式传参
使用子组传参,一个子组是一个参数,要传递多个参数的话使用多个子组
子组-()
urlpatterns=[
#访问路径是run/的时候,交给run_views去处理
url(r'^run/$',run_views),
#访问路径是run/两位数字的时候,交给run1_views去处理
url(r'^run/(\d{2})/$',run1_views),
#访问路径是run/四位数字/两位数字的时候,交给run2_views去处理
url(r'^run/(\d{4})/(\d{2})/$',run2_views),
]
注意:
1.url()中,一个子组表示一个参数
2.在views中,对应的处理函数要根据url()中子组的个数,相应的定义参数.定义的参数要位于request之后