跳转到主要内容

Django应用程序,允许用户通过管理界面设置特定于应用程序的首选项。

项目描述

Django Preferences

Django应用程序,允许用户通过管理界面设置特定于应用程序的首选项。

https://travis-ci.org/praekelt/django-preferences.svg?branch=develop https://coveralls.io/repos/github/praekelt/django-preferences/badge.svg?branch=develop https://badge.fury.io/py/django-preferences.svg

提供用于首选项对象的单例管理视图和简单的首选项值接口。单例视图确保每个首选项类在每个网站上只有一个首选项实例。

需要 并支持 Django的“站点”框架,这意味着您可以拥有多个首选项,每个首选项都与特定的站点相关联。

需求

  1. Python 2.7, 3.5-3.7

  2. Django 1.11, 2.0, 2.1

  3. django.contrib.sites

安装

  1. django-preferences安装或添加到您的Python路径。

  2. preferences添加到您的INSTALLED APPS设置中。

  3. django.contrib.sites添加到您的INSTALLED APPS设置中。由于django-preferences将首选项与特定站点关联,因此需要安装Django的“sites”框架。

  4. 可选地,将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 }}

作者

Praekelt Consulting

  • Shaun Sephton

  • Euan Jonker

  • Hedley Roos

变更日志

下一个

  1. 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

  1. 将测试迁移到tox。

  2. Django 1.9到1.11支持。官方最低支持版本是1.9。

0.1

  1. 感谢senyor清理和修复测试。

  2. 重写distinct查询以与Oracle后端一起工作。

0.0.6

  1. 更好的打包。

0.0.5 (2011-08-17)

  1. 添加站点支持。

  2. 添加单元测试。

0.0.4 (2011-08-11)

  1. 清理。文档润色。

0.0.3

  1. 拼写纠正,感谢tiktuk。

0.0.2

  1. 文档更新以指出在admin url include之前放置url include的重要性。

0.0.1

  1. 第一个超级alpha版本。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django-preferences-1.0.0.tar.gz (23.3 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面