Django_学习_01

Django 项目快速创建及目录说明

1.先创建虚拟环境 (是创建一个相对隔离的环境,后面安装的第三方包都在虚拟环境中--可以理解成一个容器)

先创建一个项目根目录,创建后进入到这个目录创建对应的虚拟目录,例如已经创建了project_django1

a.创建虚拟环境
b.激活虚拟环境
c.安装虚拟环境下的其它的包
python 复制代码
cd project_django1
pip install virturlenv
virtualenv .venv  --python==python3.10   #.venv  用.表示这个是隐藏文件,venv一般可以和项目同名
cd .venv/Script                          #进入active所在目录
activate.bat                             #激活虚拟环境
(.venv)                              

2.安装django

python 复制代码
(.venv) E:\project_django1> pip install django==3.2

3.创建django项目

a.创建项目

python 复制代码
d:\>               #切换到d:盘

# xxx 为项目名称 且创建的项目目标目录和虚拟环境目录可以不在同一目录
d:\>django-admin startproject xxx  


#执行django-admin startproject xxx后D盘生成了xxx 的项目目录

d:\xxx>dir

2023/11/16  22:14    <DIR>          .
2023/11/16  22:14    <DIR>          ..
2023/11/16  22:14               681 manage.py      #项目的管理工具
2023/11/16  22:14    <DIR>          xxx

# 项目xxx

(.venv) d:\xxx>cd xxx

(.venv) d:\xxx\xxx>dir 
 驱动器 D 中的卷是 软件 
2023/11/16  22:14    <DIR>          ..
2023/11/16  22:14               399 asgi.py  # 异步
2023/11/16  22:14             3,353 settings.py   配置文件
2023/11/16  22:14               766 urls.py  #主路由,url 和函数的对应关系
2023/11/16  22:14               399 wsgi.py   #同步  主要使用这个
2023/11/16  22:14                 0 __init__.py  
               5 个文件          4,917 字节
               2 个目录 163,125,735,424 可用字节

# settings.py  #配置文件,只有一部分,程序启动会先度django默认配置文件,再才读这个settings.py
# urls.py  # 主路由,在里面编写url和函数的对应关系,例如 /xxx/xxx/      login

b.运行项目

python 复制代码
(.venv)d:\xxx\xxx>cd ..
(.venv)d:\xxx>dir

2023/11/16  22:14    <DIR>          .
2023/11/16  22:14    <DIR>          ..
2023/11/16  22:14               681 manage.py      #项目的管理工具
2023/11/16  22:14    <DIR>          xxx

(.venv)d:\xxx>python3 manage.py runserver     #后面不带参数默认是127.0.0.1:8000

# 也可以自定义端口
(.venv)d:\xxx>python3 manage.py runserver  127.0.0.1:9000

4.创建项目下对应的APP

python 复制代码
# 在manage.py 这个目录下执行如下命令就创建了一个web  的app
(.venv)d:\xxx>python3 manage.py startapp web


# 再次查看下d:\xxx\目录
(.venv)d:\xxx>dir

2023/11/16  22:14    <DIR>          .
2023/11/16  22:14    <DIR>          ..
2023/11/16  22:14               681 manage.py      #项目的管理工具
2023/11/16  22:14    <DIR>          xxx
2023/11/16  22:15    <DIR>          web


# 再进一步进到刚才创建的web app目录下看下

(.venv)d:\xxx>cd web
(.venv)d:\xxx\web>dir

2023/11/15  21:00                66 admin.py  # django提供的admin模块,一般不用
2023/11/15  21:00               144 apps.py   # app的基本配置,不用
2023/11/15  21:00    <DIR>          migrations # 对数据和表修改自动生成的文件
2023/11/15  21:00                60 models.py
2023/11/15  21:00                63 tests.py  #单元测试的
2023/11/15  21:00                66 views.py  # 这里写功能函数(url对应的函数)
2023/11/15  21:00                 0 __init__.py  # 导入模块用的文件,python自带的

5.完整的连贯的操作

pip install virturlenv

virtualenv .venv --python==python3.10

cd .venv/Script

activate.bat

pip install django==3.2

django-admin startproject xxx

manage.py startapp web xxx/ #可以指定路径,不写默认是本目录下

python3 manage.py runserver 127.0.0.1:9000

6.关于虚拟环境说明

在做测试时,可以把虚拟环境单独放一个目录,然后通过这个虚拟环境创建不同目录的项目,例如在可以E:\盘创建虚拟环境,但是项目可以都放在D:\盘

7.其它

  1. 使用pip包导出

(1)pip freezen > requirements.txt

该方法导出的的requirements.txt包含安装包所在路径,常用于一些大型项目的环境保存,一般大型项目会加载和运行多个环境,这个时候每个环境对应的位置也需要告知。

pip freezen > requirements.txt

1

(2)pip list --format=freeze >requirement.txt

该方法导出的requirements.txt不包含安装包所在路径,与常见的requirements.txt非常类似。

以上两种方法,导出的都是该环境里面所有安装的python包,但是有些包并不是该项目中所必备的依赖,有时候导出的一些包并不是项目运行所必要的。

pip list --format=freeze >requirement.txt

1

(3)使用pip和requirements.txt安装包

使用以下命令安装依赖包:

pip install -r requirements.txt

相关推荐
孟健13 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞15 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽17 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
敏编程1 天前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪1 天前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook1 天前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
花酒锄作田1 天前
使用 pkgutil 实现动态插件系统
python
前端付豪2 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
曲幽2 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
老赵全栈实战2 天前
Pydantic配置管理最佳实践(一)
python