Django应用程序,允许用户通过管理界面设置特定于应用程序的首选项。
项目描述
Django Preferences
Django应用程序,允许用户通过管理界面设置特定于应用程序的首选项。
提供用于首选项对象的单例管理视图和简单的首选项值接口。单例视图确保每个首选项类在每个网站上只有一个首选项实例。
需要 并支持 Django的“站点”框架,这意味着您可以拥有多个首选项,每个首选项都与特定的站点相关联。
需求
Python 2.7, 3.5-3.7
Django 1.11, 2.0, 2.1
django.contrib.sites
安装
将django-preferences安装或添加到您的Python路径。
将preferences添加到您的INSTALLED APPS设置中。
将django.contrib.sites添加到您的INSTALLED APPS设置中。由于django-preferences将首选项与特定站点关联,因此需要安装Django的“sites”框架。
可选地,将preferences.context_processors.preferences_cp添加到您的模板选项设置中。这将自动将preferences变量添加到您的模板上下文中
TEMPLATES = [{ ... 'OPTIONS': { 'context_processors': [ ... 'preferences.context_processors.preferences_cp', ], }, }]
使用
要为您的应用程序创建首选项,请创建一个继承自preferences.models.Preferences的Django ORM模型,就像通常一样。还要指定preferences.models为您的模型的模块
from django.db import models from preferences.models import Preferences class MyPreferences(Preferences): portal_contact_email = models.EmailField()
Admin类按常规指定,除了它们必须继承自或注册到preferences.admin.PreferencesAdmin,即。
from django.contrib import admin from preferences.admin import PreferencesAdmin from <my_app>.models import MyPreferences admin.site.register(MyPreferences, PreferencesAdmin)
当您的模型在admin中注册时,它将显示在Django admin的Preferences应用程序标签下。
可以通过导入preferences模块并遍历到以preferences.<ModelName>.<field>形式存在的所需首选项来在Python中访问首选项,即。
from preferences import preferences portal_contact_email = preferences.MyPreferences.portal_contact_email
如果您已将preferences.context_processors.preferences_cp指定为TEMPLATES,则可以类似地通过preferences变量在模板中访问首选项,即。
{{ preferences.MyPreferences.portal_contact_email }}
变更日志
下一个
Django 2和Python 3.5兼容性。Django 1.9不再受支持。
1.0.0 — #. 支持 Django 1.11, 2.0 & 2.1 移除对 Django < 1.11 的支持 #. 支持 Python 2.7, 3.5-3.7 #. 添加测试覆盖率
0.2
将测试迁移到tox。
Django 1.9到1.11支持。官方最低支持版本是1.9。
0.1
感谢senyor清理和修复测试。
重写distinct查询以与Oracle后端一起工作。
0.0.6
更好的打包。
0.0.5 (2011-08-17)
添加站点支持。
添加单元测试。
0.0.4 (2011-08-11)
清理。文档润色。
0.0.3
拼写纠正,感谢tiktuk。
0.0.2
文档更新以指出在admin url include之前放置url include的重要性。
0.0.1
第一个超级alpha版本。
项目详情
django-preferences-1.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1601c932da2eafb464bfc0ded6d69371d2c610870a7f27c81769a50f8da522e9 |
|
MD5 | 0fe490621e49ec7aad7057dfd8c5b05a |
|
BLAKE2b-256 | 1ef78a70ef59880fe4ed36a5cd6255026dcab824287438f69f03b7ba96d28d2a |