04、 在虚拟环境中创建项目

第一步:命令创建luffy项目

# 基于某Python环境创建虚拟环境,并进入到虚拟环境:mkvirtualenv -p python3.6 虚拟环境名称
# 创建完成后文件存放在上一章节设置的文件夹中
mkvirtualenv -p python3.6 luffy

第二步:虚拟环境中命令安装Django框架

# cd到虚拟项目目录下,指定下载Django版本
pip install django==2.2.2

第三步:pycharm创建路飞项目后台

 

image-20220418121049633

 

image-20220418121124544

image-20220418121208766

image-20220418121317835

第四步:目录调整

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
posted @   三三得九86  阅读(89)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示