龙空技术网

Django使用local_settings.py实现本地个性化配置|源创库

zning1994 48

前言:

目前同学们对“pycharm2020环境配置”可能比较注重,你们都需要学习一些“pycharm2020环境配置”的相关知识。那么小编也在网上汇集了一些对于“pycharm2020环境配置””的相关知识,希望咱们能喜欢,我们快快来了解一下吧!

在Java开发的时候,我们都知道可以通过本地application.properties或者application.xml并可通过一些优先级设置,将远程配置中心的配置项,用我们本地的文件进行覆盖,以方便本地的开发和调试,并可以通过.gitignore控制防止提交到远程仓库。在Django内,其实也有这样的方法能够做这个事儿,那就是使用local_settings.py。在Django的.gitignore模板文件里面,对于这个文件是默认存在的,也就会在Git提交时无须担心其提交到远程仓库。

其实这玩意儿不是那么难理解,但是我今天在网上搜索相关资料的时候,发现有现有的教程都是同一篇互相抄,抄的源头也被我找到了是Stack Overflow,而且代码是有问题的。这篇文章其实主要是修正下网上的错误,以正视听。

我的开发环境:

MacBook Pro (13-inch, 2020) / PyCharm 2021.1 / Python 3.9 / Django 3.2.5

首先,在你工程的settings.py的结尾处添加如下代码:

try:    from .local_settings import *except ImportError:    pass

就是这个代码,网上互抄的全部都不行无法执行,错在了local_settings前面的.没了……

这个代码的意义就在于尝试读取是否有local_settings.py这个文件,如果有的话,且在settings.py读入有问题时则读入覆盖配置。

然后,在你的settings.py的文件夹下新建local_settings.py,然后放置需要覆盖的参数即可,例如我的工程放置的如下:

from pathlib import PathBASE_DIR = Path(__file__).resolve().parent.parentDEBUG = TrueALLOWED_HOSTS = ['*']DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME': 'db',        'USER': 'user',        'PASSWORD': 'password',        'HOST': '127.0.0.1',        'PORT': '3306',    },    'lite': {        'ENGINE': 'django.db.backends.sqlite3',        'NAME': BASE_DIR / 'db.sqlite3',    }}

好了,就这么简单。

标签: #pycharm2020环境配置