2-1.django框架介绍与安装
python主流web框架
django框架
大而全 内部自带的组件特别特别多 类似于航空母舰
有时候可能会过于"笨重"
flask框架
小而精 内部几乎没有什么自带的组件 全部依赖于第三方模块 类似于游骑兵
如果将flask所有的第三方模块集合到一起甚至可以盖过django
有时候可能会出现第三方模块无法兼容的情况
tornado框架
异步非阻塞
"""
同步异步
同步:提交任务之后原地等待任务的返回结果 期间不做任何事
异步:提交任务之后不原地等待任务返回结果 有结果会通过回调机制反馈
阻塞非阻塞
阻塞:程序被剥夺了CPU执行权限
非阻塞:运行态 就绪态
"""
A:socket部分
B:路由匹配
C:模板语法
django
A:不是自己写的 用的wsgiref模块
B:自己写的
C:自己写的
flask
A:不是自己写的 werkzeug(依赖于wsgiref模块)
B:自己写的
C:不是自己写的 jinja2
Tornado
A,B,C全部都是自己写的
django框架
安装
pip3 install django==1.11.11
验证django是否下载完毕
django-admin
django基本使用
命令行
1.创建django项目
django-admin startproject 项目名
2.如何运行django项目
切到项目目录下
cd 项目名
python3 manage.py runserver #启动django
# 可能会报错 需要删除widgets.py152行逗号
3.创建app
python3 manage.py startapp app名字
"""
命令行创建不会自动创建templates文件夹 并且配置文件中也不会配置
需要自己创建文件夹并配置
os.path.join(BASE_DIR, 'templates')
"""
pycharm
启动可能报错
'DIRS': [BASE_DIR / 'templates']
TypeError: unsupported operand type(s) for /: 'str' and 'str'
该问题就是把‘/’识别为除号了,两个str无法进行除号。代码实际意思是将两个str进行拼接,进入settings.py进行如下修改
'DIRS': [os.path.join(BASE_DIR,'templates')]