Loading

创建项目及配置

项目创建

首先创建一个新的虚拟环境,安装 django 版本为 1.11.9。

拆分配置settings

现在的项目目录如图所示

settings.py 是单独的模块,在进行开发环境、测试环境和线上环境配置时不太容易处理,如果只在这一个文件里写环境的配置,维护起来十分麻烦。因此,需要把这个 settings.py 拆成一个 package ,不同的配置分别定义为不同的模块。

在 typeidea 的目录结构中创建 settings 包,将原有的 settings.py 移至该包中,并改名为 base.py,并在该包下创建develop.py,此使,项目的目录结构如图所示

创建好之后,修改 settings 配置、时区和语言配置

# base.py 文件中需要修改的部分,其他部分省略

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

之后把数据库的配置剪切粘贴到 develop.py 中,然后在 develop.py 文件的最上面引入 base 的所有配置。完整的 develop.py 文件如下:

from .base import *

DEBUG = True

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

拆分完 settings 之后,还需要修改两个文件 manage.py 和 typeidea/wsgi.py,因为 Django 启动时需要知道 settings 文件的路径。因此,需要把这两个文件中的这一行代码:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "typeidea.settings")

替换为如下两行:

profile = os.environ.get('TYPEIDEA_PROFILE', 'develop')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "typeidea.settings.%s" % profile)

这样做的逻辑是,通过读取系统环境变量中的 TYPEIDEA_PROFILE 来控制 Django 加载不同的 settings 文件,以此达到开发环境使用 develop.py 这个配置、而线上环境使用 product.py 这个配置(现在还没创建 product.py)的目的。

到此,整个项目结构和开发环境的配置就完成了。

posted @ 2020-01-19 10:23  湫兮  阅读(279)  评论(0编辑  收藏  举报