04、 在虚拟环境中创建项目
第一步:命令创建luffy项目
# 基于某Python环境创建虚拟环境,并进入到虚拟环境:mkvirtualenv -p python3.6 虚拟环境名称
# 创建完成后文件存放在上一章节设置的文件夹中
mkvirtualenv -p python3.6 luffy
第二步:虚拟环境中命令安装Django框架
# cd到虚拟项目目录下,指定下载Django版本
pip install django==2.2.2
第三步:pycharm创建路飞项目后台
第四步:目录调整
1、目录总体结构
### 项目目录结构 ├── luffy_api ├── logs/ # 项目运行时/开发时日志目录 - 包 ├── luffy_api/ # 项目主应用,开发时的代码保存 - 包 ├── apps/ # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包 ├── libs/ # 第三方类库的保存目录[第三方组件、模块] - 包 ├── setting/ # 配置目录 - 包 ├── dev.py # 项目开发时的本地配置 └── prod.py # 项目上线时的运行配置 ├── urls.py # 总路由 └── utils/ # 多个模块[子应用]的公共函数类库[自己开发的组件] ├── manage.py # 脚本文件 └── scripts/ # 保存项目运营时的脚本文件 - 文件夹
2、配置文件调整(原settings.py)
新建setting文件夹,并把把配置文件settings.py移动到此文件夹下,改名为dev.py,再新建了一个pro.py
-dev.py:开发阶段用的配置
-pro.py:上线阶段用的配置
-manage.py 中指向的配置文件,改成咱么修改后路径
def main(): os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.setting.dev')
-控制台:python manage.py runserver 或者点绿色箭头就可以启动项目了
3、调整app的路径,以后把所有app都放到luffy_api下的apps文件夹
1 切换到apps路径下,执行创建app的命令
python ../../manage.py startapp user
2 注册user
INSTALLED_APPS = [ 'user', ]
3 把apps的路径加入到环境变量中:
# 不加入环境变量会找不到user模块会报错—原来的user在目录根路径下,根路径在环境变量中,可以找到
# 项目的启动时,启动入口是配置文件,所以可以在配置文件中写入:
sys.path.append(os.path.join(BASE_DIR,'apps'))
也可以使用绝对路径(掌握上一种方式即可)
INSTALLED_APPS = [ 'luffy_api.app.user', ]
4 新建 logs文件夹
存放日志
5 新建 luffy_api/lib文件夹
存放第三方类库、模块、组件
6 新建 luffy_api/utils文件夹
存放自己开发的组件、模块、公共函数类库
7 新建 script文件夹
可独立运行的脚本文件
8 修改wsgi.py文件
测试阶段使用manage.py文件作为脚本启动项目,测试通过上线后,使用wsgi.py作为启动
# 配置文件需要修改如下
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.setting.pro')
9 配置文件dev.py中,把小 luffy_api也就是BASE_DIR 也加入到环境变量
sys.path.append(BASE_DIR)
导入模块的时候,只要从环境变量的路径开始导就可以了,从小luffy_api路径开始导入即可
但是pycharm爆红,但是没有错,点右键,把该路径(在环境变量中的),做成source root即可(MARK Directory as =>source root)
以后再从这个路径下导包,不会报错了
# 注意:以后导入包,尽量用最短路径导入,如果从长路径导入--》路径经过的py文件都会去执行--》可能会导致循环导入的问题 # 个人推荐用相对导入 from apps.user import models # 不推荐这个 from . import models # 推荐用这个 # py文件中有相对导入,这个py文件不能作为脚本运行 # 但是django项目中,由于没有右键运行的脚本,所以都可以用相对导入
10 配置文件中做国际化
LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/shanghai' USE_I18N = True USE_L10N = True USE_TZ = False
分类:
07: 项目配置全流程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通