1. web框架的本质:
socket服务端 与 浏览器的通信 2. socket服务端功能划分: a. 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... b. 根据用户访问不同的路径执行不同的函数 c. 从HTML读取出内容,并且完成字符串的替换 --> jinja2(模板语言) 3. Python中 Web框架的分类: 1. 按上面三个功能划分: 1. 框架自带a,b,c --> Tornado 2. 框架自带b和c,使用第三方的a --> Django 3. 框架自带b,使用第三方的a和c --> Flask 2. 按另一个维度来划分: 1. Django --> 大而全(你做一个网站能用到的它都有) 2. 其他 --> Flask 轻量级 3. 新建Django项目 命令行创建:django-admin startproject mysite
pycharm创建: 1. File --> New project --> 左侧选Django --> 右侧填项目路径,并且勾选python.exe 4. 设置Django项目: 1. settings.py 1. 配置HTML文件存放的位置 2. 配置静态文件存放的位置
启动:
django 根目录 manage.py 文件
python3 manage.py runserver
问题原因:
由于django 1.11版本和python3.7版本不兼容, 2.0版本以后的Django修复了这个问题
解决方法:
方法1.找到对应路径下的widgets.py,将逗号删除即可
方法2.升级Django版本
pip install -U Django
You have 13 unapplied migration(s). Your project may not work properly until you apply ...报错
解决方法:
执行一下这个:python manage.py migrate
它可以让我们在修改Model后可以在不影响现有数据的前提下重建表结构。
3. Django中的APP:
什么是APP?以及为什么要用APP? project --> 项目 (老男孩教育大学校) APP --> 应用 (Linux学院/Python学院/大数据学院/Java学院) 方便我们在一个大的Django项目中,管理实现不同的业务功能. 1. 创建APP的命令 1. 命令行,在Django项目的根目录输入: python3 manage.py startapp app名字