django框架介绍
1.django框架特点
Django 是用python语言开发的开源的web框架, 并遵循MVC设计, 简便快捷的开发数据库驱动的网站,扩展性很好.
重量级框架, 对比flask
提供项目工程管理的自动化脚本 flask需要flask_script扩展
数据库ORM支持 flask需要flask_SQLalchemy
模板 flask需要Jinja2
表单 flask需要flask_WTF
Admin管理站点
文件管理
认证权限
session flask内核提供
缓存
2. web框架的学习方法:
搭建工程程序:
a. 工程的组建
b. 工程的配置
c. 路由定义
d. 视图函数的定义
获取请求数据, 构造响应数据, 中间件的使用
框架提供的其他功能: 数据库 admin 模板
3. MVT模式:
MVC(Model view controller )
模式中 v对应的是template c 对应的是 view
核心思想是分工解耦, 让不同的代码块之间降低耦合, 增强代码的可扩展型和可移植性,实现向后兼容.
M: model 主要封装对数据库层的访问, 对数据库进行增删改查
V: view 用于 接受请求进行业务逻辑的处理
T: template 封装结果, 生成页面展示的html内容
1. 中间层处理: 在视图函数处理前后, 要经过中间层的处理, flask中叫请求钩子, WSGI协议中规定要有中间层
4.工程目录结构
django-admin startproject 工程名称
与项目同名的目录,这个文件夹中都是一些配置文件
a. settings.py是项目的整体配置文件
b. urls.py 是项目的url 配置文件
c. wsgi.py 是项目与WSGI 兼容的web服务器入口
d. manage.py 是项目管理文件,通过它管理项目
运行开发服务器:
python manage.py runserver ip:端口
默认的端口是8000
- 创建子应用:
增加复用性, 可以直接把需要的模块复制过去,
python manag.py startapp 子应用的名称
a. admin.py 文件跟网站后台管理配置
b. apps.py 配置当前子应用的相关信息
c. migrations 数据库迁移的文件
d. models.py 数据库模型
e. tests.py 测试文件
f. views.py 编写web 应用视图
把新创建的app注册到项目配置文件sttings.py里面
users.apps.UsersConfig- 创建视图
视图函数就是用来接受请求,处理业务逻辑,最后返回响应
创建视图函数的参数是 request必须要传
request 是HttpRequest的对象
:return 一个响应对象
在app模块下创建urls.py 里面的路由放在 urlpatterns=[] 列表中
urlpatterns = [
url(路径, 视图)
url(r"^index/ 结尾
django框架在匹配url的时候, 会过滤掉 ip端口/
- 创建视图
- 配置文件
setting里面的BASE_IDR 根目录, setting文件的父级的父级目录
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(file)))
DEBUG = False后, allow_host里面要设置指定访问的ip ‘*’
本地化的操作:
LANGUAGE_CODE = “zh-hans”
TIME_ZONE = “Asia/Shanghai”
静态文件的使用:
STATIC_URL = ‘/static/’ 访问静态文件的url的前缀
可以存放在项目中或者应用中, 推荐放在项目中
STATICFILES_DITS存放查找静态文件的目录
debug = false不在对外提供静态服务