一个简单的django应用程序,具有简单的类型设置。

django-ma-settings的Python项目详细描述


主设置是一个简单的django应用程序,在django应用程序中具有简单的类型化设置和类型验证。

安装和设置

  1. 使用pip安装
$> pip install django-ma-settings
  1. 将“MA设置”添加到已安装的应用程序中
INSTALLED_APPS=(# ...'ma_settings',# ...)
  1. 使用设置定义定义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'}}
  1. 定义基本设置模板名称
BASE_SETTINGS_TEMPLATE_NAME="template_name.html"#  Template file must contain empty {% block settings %}
  1. 在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'%}
  1. 运行命令初始化设置
$> 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法使用JAXB配置Moxy   java如何让我的简单Swing telnet客户端正确显示字符?   java中从可运行线程调用主线程的多线程处理   java数据源。EBJ3会话bean中的getConnection()   使用java和正则表达式从xml文件提取值时出现问题   java定制Jersy胡须Mvc   在Java中,“限制并发”是什么意思?   java有没有更干净的方法可以在这里使用Optional,而不在三个地方返回“NA”?   java Tomcat启动,然后崩溃,除非我打电话   java理解客户机和服务器   java时间戳将在视图对象>实体转换期间丢失   如何在java中返回布尔值(基元)?   java使用spring mvc设置日志记录,希望仅对我的代码进行跟踪/调试   用Jackson解析嵌套对象