最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django 項(xiàng)目通過加載不同env文件來區(qū)分不同環(huán)境

 更新時間:2020年02月17日 08:31:36   作者:studytime  
這篇文章主要介紹了Django 項(xiàng)目如何通過加載不同env文件來區(qū)分不同環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

簡述

本文主要是整理如何在 django 項(xiàng)目中解決不同環(huán)境下加載不同 .env 環(huán)境配置文件的方案。主要內(nèi)容包含 django-environ 的安裝使用,以及 django-crontab 腳本環(huán)境下的配置使用。

django-environ 的使用

安裝

官方 django-environ github鏈接地址

pip install django-environ

使用

創(chuàng)建 .env文件

# 項(xiàng)目目錄中
touch .env

# 增加環(huán)境變量
DEBUG=True
SECRET_KEY=your-secret-key
DATABASE_URL=psql://urser:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db
CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret

與 settings.py 一起使用。為了方便使用目前使用gitlab為內(nèi)網(wǎng)環(huán)境,故而 .env 不需要加入 .gitignore ,實(shí)現(xiàn)文件忽略上傳。

import environ

# initialize env
env = environ.Env(
 # set casting, default value
 DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env()

# False if not in os.environ
DEBUG = env('DEBUG')

# Raises django's ImproperlyConfigured exception if SECRET_KEY not in os.environ
SECRET_KEY = env('SECRET_KEY')

# Parse database connection url strings like psql://user:pass@127.0.0.1:8458/db
DATABASES = {
 # read os.environ['DATABASE_URL'] and raises ImproperlyConfigured exception if not found
 'default': env.db(),
 # read os.environ['SQLITE_URL']
 'extra': env.db('SQLITE_URL', default='sqlite:////tmp/my-tmp-sqlite.db')
}

CACHES = {
 # read os.environ['CACHE_URL'] and raises ImproperlyConfigured exception if not found
 'default': env.cache(),
 # read os.environ['REDIS_URL']
 'redis': env.cache('REDIS_URL')
}

如何實(shí)現(xiàn)不同環(huán)境下加載不同環(huán)境變量

在只使用一個 settings.py 文件情況下,可以只使用一個環(huán)境變量,通過此環(huán)境變量來讀取不同環(huán)境的 .env 文件以區(qū)分不同環(huán)境。 這個環(huán)境變量就沒法寫在 .env 文件了,必須手動指定。假設(shè)我們這個環(huán)境變量叫PROJECT_ENV。那么我們在命令行執(zhí)行任何命令的時候,在前面加上PROJECT_ENV=xxx來指定環(huán)境變量。 當(dāng)然,也可以export來指定這個環(huán)境變量,也可以修改shell配置文件來指定這個環(huán)境變量,甚至supervisord和uwsgi的配置文件也可以指定環(huán)境變量。

執(zhí)行方法

PROJECT_ENV=local python manage.py runserver

多環(huán)境.env文件設(shè)置

假設(shè)目前存在 local 以及 product 兩種環(huán)境,則在 envs 下新建 .env.local 以及 .env.product 文件。

settings.py 代碼兼容

import os
import environ
import logging.config

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

env = environ.Env(
 # set casting, default value
 DEBUG=(bool, False)
)

"""
通過指定環(huán)境遍歷加載不同env文件
PROJECT_ENV=production python manage.py crontab add
默認(rèn)場景下可不指定,則加載local文件
"""
env_name = env.str('PROJECT_ENV', 'local')
# reading .env file
env.read_env('envs/.env.%s' % env_name)

如何在 django-crontab 腳本環(huán)境下加載不同配置

django-crontab 的使用可以參考django-crontab實(shí)現(xiàn)服務(wù)端的定時任務(wù)

代碼調(diào)整

在 settings.py 文件中,django-crontab 配置任務(wù) CRONJOBS 下增加 CRONTAB_COMMAND_PREFIX =

'PROJECT_ENV=' + env_name 參數(shù)指定

CRONJOBS = [
 ("*/5 * * * *", "analysis.cron.test_cron", ">>" + LOG_DIR + "log/fba_claim_shipment.log"),
]

CRONTAB_COMMAND_PREFIX = 'PROJECT_ENV=' + env_name

執(zhí)行方法

PROJECT_ENV=local python manage.py crontab add

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用python寫個博客遷移工具

    用python寫個博客遷移工具

    這篇文章主要介紹了如何用python寫個博客遷移工具,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • keras中的History對象用法

    keras中的History對象用法

    這篇文章主要介紹了keras中的History對象用法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • matplotlib bar()實(shí)現(xiàn)百分比堆積柱狀圖

    matplotlib bar()實(shí)現(xiàn)百分比堆積柱狀圖

    這篇文章主要介紹了matplotlib bar()實(shí)現(xiàn)百分比堆積柱狀圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 小白如何入門Python? 制作一個網(wǎng)站為例

    小白如何入門Python? 制作一個網(wǎng)站為例

    以制作一個網(wǎng)站為例,聊一聊小白如何入門Python,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python&MongoDB爬取圖書館借閱記錄

    python&MongoDB爬取圖書館借閱記錄

    這篇文章主要介紹了python&MongoDB爬取圖書館借閱記錄的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • Python如何讀取json文件

    Python如何讀取json文件

    這篇文章主要介紹了Python如何讀取json文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • pytorch 實(shí)現(xiàn)刪除tensor中的指定行列

    pytorch 實(shí)現(xiàn)刪除tensor中的指定行列

    今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)刪除tensor中的指定行列,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python保存dict字典類型數(shù)據(jù)到Mysql并自動創(chuàng)建表與列

    Python保存dict字典類型數(shù)據(jù)到Mysql并自動創(chuàng)建表與列

    這篇文章主要介紹了Python保存dict字典類型數(shù)據(jù)到Mysql并自動創(chuàng)建表與列,字典是另一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο?,想了解更多?nèi)容的小伙伴可以和小編一起進(jìn)入下面文章學(xué)習(xí)更多內(nèi)容,希望對你有所幫助
    2022-02-02
  • 淺談tensorflow之內(nèi)存暴漲問題

    淺談tensorflow之內(nèi)存暴漲問題

    今天小編就為大家分享一篇淺談tensorflow之內(nèi)存暴漲問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • PyQt5實(shí)現(xiàn)下載進(jìn)度條效果

    PyQt5實(shí)現(xiàn)下載進(jìn)度條效果

    這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)下載進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評論

繁昌县| 固阳县| 孟连| 泰州市| 兴安县| 攀枝花市| 繁昌县| 新巴尔虎左旗| 大港区| 囊谦县| 美姑县| 漯河市| 郎溪县| 大安市| 河间市| 抚顺市| 嘉荫县| 日土县| 会昌县| 彰化市| 堆龙德庆县| 汾阳市| 云安县| 高安市| 两当县| 仪陇县| 昌平区| 通城县| 长兴县| 安康市| 阳泉市| 金溪县| 温泉县| 平原县| 浮山县| 瑞金市| 墨竹工卡县| 尼玛县| 恩施市| 威远县| 西昌市|