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

相关推荐
豌豆花下猫4 分钟前
Python 潮流周刊#78:async/await 是糟糕的设计(摘要)
后端·python·ai
脸ル粉嘟嘟4 分钟前
GitLab使用操作v1.0
学习·gitlab
路有瑶台7 分钟前
MySQL数据库学习(持续更新ing)
数据库·学习·mysql
只因在人海中多看了你一眼7 分钟前
python语言基础
开发语言·python
小技与小术14 分钟前
数据结构之树与二叉树
开发语言·数据结构·python
hummhumm41 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
杜小满1 小时前
周志华深度森林deep forest(deep-forest)最新可安装教程,仅需在pycharm中完成,超简单安装教程
python·随机森林·pycharm·集成学习
zmd-zk1 小时前
flink学习(2)——wordcount案例
大数据·开发语言·学习·flink
Chef_Chen1 小时前
从0开始学习机器学习--Day33--机器学习阶段总结
人工智能·学习·机器学习
databook2 小时前
『玩转Streamlit』--布局与容器组件
python·机器学习·数据分析