python主流web框架
django
大而全 自带的功能非常的多 但是有时候会略显笨重
类似于'航空母舰'
flask
小而精 自带的功能非常的少 但是第三方模块非常的多
类似于'游骑兵'
# flask的第三方模块加到一起甚至比django还多 并且也越来越像django
# flask由于过多的依赖于第三方模块 有时候也会受制于第三方模块
tornado
异步非阻塞框架 速度极快 甚至可以用于充当游戏服务器
# 还有一些占比较小 但是也很厉害的框架
fastapi、sanic......
"""
框架的核心逻辑几乎是一致的 我们在学习的时候只需要先学会一种
之后就可以触类旁通 但是需要强调的是:千万不用同时学习!!!
"""
django框架版本
django3.X:自带异步功能
django2.X:默认不支持异步
django1.X:默认不支持异步
'''
学习基于django1.X版本即可原因: 老项目中使用频率最高、最广泛的版本!!!
与2.X功能几乎一致,后续会讲解两者区别之处
与3.X最主要的区别在于新增了一个异步的功能
'''
框架下载
pip3 install django==1.11.11
'''如果之前下载了其他版本不用管 自动替换!!!'''
注意事项
- 计算机名称不要出现中文
- python解释器版本不同可能会出现启动报错
- 项目中所有的文件名称不要出现中文
- 多个项目文件尽量不要嵌套,做到一项一夹
启动如果报错,根据提示找到修改widgets.py文件第152行源码,删除最后的逗号即可
基本使用
1.验证是否下载成功
cmd窗口直接输入django-admin有一长串结果展示表明成功(需提前配置解释器环境变量)
2.常见操作命令
# 1.创建django项目
django-admin startproject 项目名(如:mysite)
# 2.启动django项目
cd 项目名(如:mysite)
python3 manage.py runserver IP:PORT
'''IP:PORT可以不写 默认在本地8000端口起服务'''
# 3.创建app应用
python3 manage.py startapp 应用名(jason01)
命令行操作 cmd
1.创建Django项目
1.1.先切换到指定目录,切换到D盘
d:
1.2.创建Django项目
'''django-admin startproject 项目名称'''
django-admin startproject mysite01
2.启动Django项目
2.1.先切换到项目目录下
cd mysite01
2.2.执行启动目录
python3 manage.py runserver ip:port(不写ip和端口,默认是 127.0.0.1:8000)
ctrl+c 在cmd里停止
3.访问Django服务端
浏览器直接输入 127.0.0.1:8000
4.创建app应用
"""
Django框架类似于是一个空壳子,给你提供所需的资源
写功能需要通过创建app来划分
"""
4.1.创建app
'''python3 manage.py startapp 应用名'''
python3 manage.py startapp app01
pycharm操作
"""每个Django项目使用的端口不能冲突"""
1.创建项目
新建项目---Django---location: django_01(创建项目目录)
Templates folder:templates (保持默认,存储HTML的文件夹)
Application name: app01 (app应用,自定义名字)
Enable Django admin (默认勾选,自带的后台管理功能)
2.直接右键运行
'''可能会遇到版本问题,有报错'''
例如:
File "D:\django_01\django_01\settings.py", line 58, in <module>
'DIRS': [BASE_DIR / 'templates']
~~~~~~~~~^~~~~~~~~~~~~
TypeError: unsupported operand type(s) for /: 'str' and 'str'
一般都是python与Django的版本之间不匹配,按提示,把/换成,
3.修改端口号
点击绿色按钮旁边的django_01,编辑配置,修改端口
再重新启动Django即可
命令行与pycharm区别
1.命令行cmd不会自动创建templates文件夹
2.命令行不会在配置文件编写关于templates文件夹的配置
"""文件是项目名下的settings.py文件"""
pycahrm创建的DIRS里是有内容的,cmd创建的是空的,需要自己配置
"""但是DIRS都需要重新改下,如下所示"""
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 'DIRS': [BASE_DIR, 'templates'],
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
3.命令行创建的app应用,需要手动添加注册;pycharm创建的app应用会自动添加
"""还是settings文件"""
添加'app01.apps.App01Config', 或者简写app01
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config',
]
4.db.sqlie3不需要管他,只要运行,就会自动创建
3.应用的概念
django框架相当于是一所大学,应用相当于是大学里面的各个学院
大学相当于是个空壳子 负责提供环境
学院才是一个个真正具备特定功能的集合
eg:
使用django写一个淘宝,淘宝里面有很多功能模块
我们应该先创建一个空的django项目然后根据功能的不同创建不同的应用
django项目
应用名01(user) 用户相关业务
应用名02(order) 订单相关业务
应用名03(goods) 产品相关业务
应用名04(backend) 后台相关业务
主要文件
-mysite文件夹名称
--mysite同名文件夹
----settings.py 项目配置文件
----urls.py 总路由层
--manage.py 项目入口文件
--db.sqlite3 运行项目后自动创建(django自带的小型数据库)
--应用文件夹 通过命令创建(可以创建任意个数)
----migrations文件夹 存储数据迁移记录
----admin.py django提供的后台管理
----apps.py 用于配置文件的应用注册(创建的应用都需要去配置文件中注册)
----models.py 模型层(与数据库相关)
----views.py 视图层(编写当前应用核心业务逻辑代码)
----tests.py 自带的测试文件
标签:框架,项目,创建,py,django,应用,简介,Django From: https://www.cnblogs.com/ycmyay/p/17382864.html