django
python主流web框架
# django
大而全 自带的功能非常的多 但是有时候会略显笨重
类似于'航空母舰'
# flask
小而精 自带的功能非常的少 但是第三方模块非常的多
类似于'游骑兵'
# flask的第三方模块加到一起甚至比django还多 并且也越来越像django
# flask由于过多的依赖于第三方模块 有时候也会受制于第三方模块
# tornado
异步非阻塞框架 速度极快 甚至可以用于充当游戏服务器
# 还有一些占比较小 但是也很厉害的框架
fastapi、sanic......
"""
框架的核心逻辑几乎是一致的 我们在学习的时候只需要先学会一种
之后就可以触类旁通 但是需要强调的是:千万不用同时学习
"""
简介
# 版本问题
LTS 稳定发行版
django1.X:同步 推荐使用版本 1.11
django2.X:同步 推荐使用版本 2.2
django3.X:支持异步 推荐使用版本 3.2
django4.X:支持异步 推荐使用版本 4.2
版本之间差距并不大,主要是添加了一些新的功能
注意事项
运行django注意事项
1.django项目中所有的文件名目录名不要出现中文
2.计算机名称尽量也不要出现中文
3.一个pycharm尽量就是一个完整的项目(不要嵌套 不要叠加)
4.不同版本的python解释器与不同版本的django可能会出现小问题
5.保证同时间只有一个django在运行(可能会出现你cmd 已经运行了,pycharm里又运行了一个)
django基本使用
下载
cmd内操作:
pip3 install django==2.2.22
下载速度过慢的话可以使用下列代码
pip install django==2.2.22 -i https://mirrors.aliyun.com/pypi/simple/
验证是否下载成功
django-admin 前提 需要环境变量
cmd常见命令
1.创建django项目
django-admin startproject 项目名(mysite)
2.启动django项目
切换到项目目录
cd 项目名
python38 manage.py runserver ip:port
不输入ip端口默认使用127.0.0.1:8000
3.pycharm创建django项目
- 在pycharm中创建django项目会自动进行创建templates文件夹,但是配置文件中可能会报错,需要我们在settings 文件中修改
找到settings里的TEMPLATES修改其中的DIRS
[os.path.join(BASE_DIR,'templates')]
4.pycharm中启动项目
点击右上角选择运行旁边的窗口选择带django图标的文件执行,
django app
django本身类似于是一个空壳子 真正的功能是由里面的各个应用决定
django框架相当于是一所大学 应用相当于是大学里面的各个学院
大学其实是个壳子 负责提供环境
学院才是一个个真正具备特定功能的集合
django里面的app类似于某个具体的功能模块
user app 所有用户相关的都写在user app下
goods app 所有商品相关的都写在goods app下
命令行创建应用
python38 manage.py startapp 应用名(add01)
"""
创建的app一定要去settings.py中注册
INSTALLED_APPS = [
'app01.apps.App01Config', 全写
'app02' 简写
]
"""
pycharm创建应用
# 1.新建django项目可以默认创建一个 并且自动注册
# 2.可以在pycharm下面的Terminal里输入命令
python38 manage.py startapp 应用名(add01)
"可以创建多个 记住以此方法创建的app一定要去settings 里注册 ,注册方法在上面"
INSTALLED_APPS = [
'app01.apps.App01Config', # 全写
'app02' # 简写 ]
# 3. 还可以在创建django项目时点开下方的More Settings 在里面的 Application name: 里输入app01
django主要文件介绍
django项目目录名
django项目同名目录
settings.py 配置文件
urls.py 存储网址后缀与函数名对应关系(不严谨)
wsgi.py wsgiref网关文件
db.sqlite3文件 django自带的小型数据库(项目启动之后才会出现)
manage.py 入口文件(命令提供)
应用目录
migrations目录 存储数据库相关记录
admin.py django内置的admin后台管理功能
apps.py 注册app相关
models.py 与数据库打交道的(非常重要)
tests.py 测试文件
views.py 存储功能函数(不严谨)
templates目录 存储html文件(命令行不会自动创建 pycharm会)
"""
网址后缀 路由
函数 视图函数
类 视图类
重要名词讲解
urls.py 路由层
views.py 视图层
models.py 模型层
templates 模板层
"""
django三板斧
from django.shortcuts import render,HttpResponse,redirect
# 1.HttpResponse 返回字符串类型的数据给页面
def index_func(request):
return HttpResponse('hello big baby')
# 2.render 返回html页面并且支持传值
def get_table(request):
user_dict={'name':'LiAJi','pwd':123}
return render(request,'get_table.html',{'d1':user_dict})
# 3.redirect 重定向 跳转到指定页面
def fun_func(request):
return redirect('http://www.baidu.com/')
报错处理方法
1.Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
"点击右上角运行旁边窗口打开Edit configgurations... 重新设置端口"
2.右上角运行窗口变灰色
点击窗口Add configgurations 弹出窗口点击+号找到django server 再点击apply
后续更新
3.不同版本的解释器可能会报错
找到报错信息的最后一行提示对应的代码 删除源文件逗号即可
标签:教程,项目,三板斧,创建,app,py,django,pycharm
From: https://www.cnblogs.com/LiaJi/p/16967295.html