模块,以便于配置外部django应用程序。

django-easyconfig的Python项目详细描述


django easyconfignlshield

此应用程序可以轻松自定义外部django应用程序 使用它的人。

它采用的方法非常类似于旧的django.contrib.comments (现在django评论)框架。它使定制更容易使用 形式、价值观等

快速示例…

假设您有一个开源django应用程序,允许您上传 照片和照片的一些元数据。能够定制 在这种形式下,项目所有者将不得不破解应用程序的 来源以满足他们的需要(类名等),或者您必须 使您的应用程序可自定义。Django Easyconfig就在那里 进来…

安装

基本安装:

$ python setup.py build $ sudo python setup.py install

替代安装(手动):

将webutils目录放在python路径中。或者在你的Python里 安装站点包目录或设置$pythonpath环境 变量以包含webutils目录所在的目录。

使用

  • 这些不是很好的医生。我会尽快更新的!

你必须在你的应用中创建一个“config”对象并用它来获取 您希望能够自定义的任何对象或值。

下面是一个基本的例子。

###yourApp/config.py

from easyconfig import EasyConfig
from django.contrib.auth.forms import AuthenticationForm
from yourapp.forms import PasswordChangeForm


class Config(object):
    ''' Base config class to easily pass forms, etc. to
        yourapp views.
    '''
    # Use the dotted Python path to this class
    config = EasyConfig('yourapp.config.Config', 'YOURAPP_CONFIG')

    def get_login_form(self):
        return self.config.get_object('get_login_form', AuthenticationForm)

    def get_password_change_form(self):
        return self.config.get_object('get_password_change_form', PasswordChangeForm)

现在,你只需要在任何需要的时候使用你的app.config类 获取这些对象中的一个以供使用。

下面是如何在urls.py文件中使用它的方法

###url.py

from django.conf.urls import url
from yourapp import views
from yourapp.config import Config


config = Config()

urlpatterns = [
    url(r'^login/$',
        views.login, {
            'template_name': 'yourapp/login.html',
            'authentication_form': config.get_login_form(),
        }, name='yourapp-login'),
    url(r'^passwd_change/$',
        views.passwd_change, {
            'template_name': 'yourapp/passwd_change.html',
            'passwd_change_form': config.get_password_change_form(),
        }, name='yourapp-passwd-change'),
]

现在,任何在自己的项目中使用你的应用程序的人都可以轻松地更改 登录和密码将表单更改为所需的任何表单。这里是如何 他们会在自己的项目中这样做。

###settings.py

# Dotted python path to their own CustomConfig class
YOURAPP_CONFIG = 'myproject.myapp.config.CustomConfig'

###myproject/myapp/config.py

from myproject.myapp.forms import AuthForm, ChangeForm


class CustomConfig(object):
    ''' Customize the forms!
    '''
    def get_login_form(self):
        return AuthForm

    def get_password_change_form(self):
        return ChangeForm

就这样。很容易吧?:)

商业支持

这个软件,以及许多其他类似的软件,都是内置的 支持许多Netlandish自己的项目,以及 客户。我们很乐意为你的下一个项目提供帮助 在hello@netlandish.com给我们留言。

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

推荐PyPI第三方库


热门话题
java Android Studio gradle版本错误   odata如何使用SAP Cloud SDK 3.2.0在Java中检索目标?   具有包含地址的路径的java执行进程   java日志中充斥着AWS Http调用   java notifyDataSetChanged不使用线程   java Android位图:中心裁剪+创建位图的圆形   在解组Json对象时,java“prolog中不允许内容”   java getResources()来自Android Studio中的枚举   java EclipseLink相当于Hibernate@naturaid   java如何用相似但不同的对象填充列表?   xml java SAXParser忽略异常并继续解析   如何从java控制台运行控制台应用程序?   java如何通过一个jsp中的链接将注册表切换为登录表单(或其他方式)?   这可能是java/lang/Runtime的用法。exec([Ljava/lang/String;)Ljava/lang/Process;可能容易受到命令注入的攻击   java这本教科书中的链表是否包含“递归构造函数”?   java将Arraylist<Integer>转换为char[]的最佳方式是什么