一个简单的django应用程序,具有简单的类型设置。
django-ma-settings的Python项目详细描述
主设置是一个简单的django应用程序,在django应用程序中具有简单的类型化设置和类型验证。
安装和设置
- 使用pip安装
$> pip install django-ma-settings
- 将“MA设置”添加到已安装的应用程序中
INSTALLED_APPS=(# ...'ma_settings',# ...)
- 使用设置定义定义master_settings dict
模板:
MASTER_SETTINGS={'(setting_name)':{'type':'(setting_type)','display_name':'(displayed name)',#optional'default':(defaultvalue),# optional'options':(choiceoptions),# optional'model':(foreignmodel),# optional, use only when foreign type is chosen}}
示例:
MASTER_SETTINGS={'max_email_size_kb':{'type':'integer','display_name':'Max email size(kb)','default':400,},'text_color':{'type':'choices','display_name':'Text color','options':['White','Black','Red','Blue'],'default':'White',},'our_rate':{'type':'float','display_name':'Our rate','default':1.0,},'email_from':{'type':'string''display_name':'Email from',},'Default client':{'type':'foreign','model':'my_app.Client'}}
- 定义基本设置模板名称
BASE_SETTINGS_TEMPLATE_NAME="template_name.html"# Template file must contain empty {% block settings %}
- 在urls.py中添加include('ma_settings.urls')
url(r'^settings/',include('ma_settings.urls')),# Use url name 'master_settings_home' to access settings page{%url'master_settings_home'%}
- 运行命令初始化设置
$> python manage.py syncdb $> python manage.py init_settings
使用
要获得设置,请使用
fromma_settingsimportmaster_settingsmaster_settings.get('setting_name',default='default')
设置新值:
master_settings.set('setting_name',[value|model_instance])
检查设置是否存在:
master_settings.exists('setting_name')
更新设置定义
在settings.py中更新设置定义后,运行此命令更新设置
python manage.py init_settings