Django入门
重量级框架:django、Zope
轻量级框架:FastAPI, flask, tornado, sanic, twsited
1.django安装
- 本地终端执行
# 安装最新版本django
pip install django
# 安装指定版本的django
pip install django==4.2.5
- 镜像源
pip镜像源:
https://pypi.tuna.tsinghua.edu.cn/simple 清华源
使用格式:
pip install -U django -i https://pypi.douban.com/simple
2.虚拟环境
python开发的虚拟环境(Virtual Enviroment),主要是以目录作为单位分别保存不同的python解释器与第三方模块的一种技术。
使用虚拟环境,可以让一台开发机子,同时安装多个不同的python解释器,也可以实现同时安装同一个模块的多个不同版本。
常用的虚拟环境:Anaconda、Virtualenvs、pyvenv
- Anaconda命令
| 命令 | 描述 |
|---|---|
| conda -V | 查看conda版本 |
| conda info | 查看当前Anaconda的系统配置信息 |
| conda env list | 列出当前系统中所有虚拟环境,环境列表左边*号表示当前所在环境, 也可以使用conda info -e查看,注意:conda安装到本地以后,默认就提供了一个全局版本的虚拟环境,叫base |
| conda create -n <虚拟环境名称> python=<python版本号> <包名1>==<版本号> | 新建虚拟环境,-n表示设置当前虚拟环境的名称, python表示设置当前虚拟环境的python版本,如果本地没有会自动下载安装 表示创建虚拟环境时同时安装一个或多个指定第三方包 |
| conda create -n <新的虚拟环境名称> --clone <旧的虚拟环境名称> | 克隆虚拟环境 |
| conda activate <虚拟环境名称> | 进入/切换到指定名称的虚拟环境,如果不带任何参数,则默认回到全局虚拟环境base中 |
| conda deactivate | 退出当前虚拟环境 |
| conda install -n <虚拟环境名称> <包名1>==<版本号> | 在虚拟环境外部,给指定虚拟环境安装或更新一个或多个指定包 如果是最新的版本的包,conda install无法安装,则可以使用pip install安装 |
| conda install <包名1>==<版本号> | 在虚拟环境内部,给当前虚拟环境安装或更新一个或多个指定包 |
| conda install <包名1>==<版本号> -c conda-force | 在虚拟环境内部,指定下载服务器源给当前虚拟环境安装或更新一个或多个指定包,conda-force有时候会因为网络问题被拦截。 |
| conda remove -n <虚拟环境名称> <包名1>==<版本号> | 在虚拟环境外部,给指定虚拟环境卸载一个或多个指定包 |
| conda remove <包名1>==<版本号> | 在虚拟环境内部,给当前虚拟环境卸载一个或多个指定包 |
| conda remove -n <虚拟环境名称> --all | 删除指定虚拟环境,并卸载该环境中所有指定包 |
| conda env export > environment.yaml | 导出当前虚拟环境的Anaconda包信息到环境配置文件environment.yaml中 |
| conda env create -f environment.yaml | 根据环境配置文件environment.yaml的包信息来创建新的虚拟环境 |
| conda update --prefix <anaconda安装目录> anaconda | 更新Anaconda的版本。 先回到base环境,再执行conda update,系统会自动提示完整并正确的命令 如果上述方法不行,只能卸载现有的conda,然后下载最新版本安装。 |
3.创建并运行虚拟环境
- 创建虚拟环境并在虚拟环境中下载安装django包
# 创建djdemo虚拟环境,务必要指定python解析器的版本
conda create -n py310 python=3.10
# 进入虚拟环境
conda activate py310
# 安装django基本模块
pip install django==4.2.5 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 生成一个具有基本目录结构的django项目,在python安装了django包以后,默认就提供了一个全局命令django-admin,可以让我们基于django-admin快速创建django项目
django-admin startproject djdemo # djdemo 就是项目目录名,建议采用与项目相关的名称,最好英文!!!
4.Django项目目录结构
djdemo/ # 项目根目录
│─ manage.py # 入口程序,终端脚本命令, 提供了一系列用于生成文件或者目录的命令,也叫脚手架
└─ djdemo/ # 主应用开发目录,保存了项目中的所有开发人员编写的代码, 目录是生成项目时指定的
│- asgi.py # django3.0以后新增的,用于让django运行在异步编程模式的一个web应用对象
│- settings.py # 默认开发配置文件,将来填写数据库账号,密码等相关配置
│- urls.py # 总路由文件,用于绑定django应用程序和url的映射关系
│- wsgi.py # wsgi就是项目运行在wsgi服务器时的入口文件, 本质上来说,manage.py runserver 内部调用的就是wsgi
└- __init__.py # 包初始化文件
5.创建子应用
1. 创建子应用
python manage.py startapp 子应用名称(目录)
django-admin startapp 子应用名称
2. 在子应用的视图文件views.py 中编写视图函数
3. 把视图函数和url进行绑定注册到django项目.
用户就可以通过url地址访问,用户访问的时候,django自动根据url地址执行对应的视图函数
6.在子应用的视图文件中编写视图函数
from django.http.response import HttpResponse
def index(request):
print("视图运行了")
return HttpResponse("hello world!")
7. 绑定路由和视图的映射关系
from django.contrib import admin
from django.urls import path
from home.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path("index/", index),
]

浙公网安备 33010602011771号