Ale*_*Emm 3 python global-variables
我在我的主执行文件中有这个:
databaseUrl = appPath + '/db/timey.db'
Run Code Online (Sandbox Code Playgroud)
这指向我的SQLite DB.
我已经做了一些封装来访问我的模型(Data/DB).所以在databaseURL最终被使用之前,我需要从main - > view.py - > model.py - > db.py 传递它.这将是愚蠢的,因为例如我的视图类不需要知道我的数据库或其路径.那么,什么是一种适当的方法来实际使这条路径"全局"可访问而不会一直传递它?
我试图使databaseUrl全局化,但我不喜欢这个想法,并且还没有真正让它像这样工作.
将信息存储在外部文件中将是一种过度杀伤,因为它无论如何都是唯一的(常量!)全局使用变量.
谢谢!
我不认为将它存储在外部文件中会有点过分.我认为有一个设置或配置文件是有帮助的
# settings.py
import os
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
DATABASE_URL = ''
DATABASE_USER = ''
DATABSE_PASSWORD = ''
Run Code Online (Sandbox Code Playgroud)
等等
from myproject import settings
settings.DATABASE_URL
Run Code Online (Sandbox Code Playgroud)
这就是django和scrapy用于存储项目数据库配置设置以及所有其他项目设置的功能
另外,如果你有一个数据库类,将这些设置存储在其中是否有意义?我不知道.
settings.py文件使您可以轻松设置开发/本地数据库URL.为此,您可以拥有一个local_settings.py永远不会置于版本控制之下或打包在项目中的文件
在您的settings.py文件中
try:
from local_settings import *
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
然后在local_settings.py中,您可以覆盖DATABASE_URL作为您的开发数据库!! 这是一个django项目大会
| 归档时间: |
|
| 查看次数: |
1458 次 |
| 最近记录: |