模块,以便于配置外部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第三方库


热门话题
SpringWeb中的java更新/通知其他用户   java Lambda性能测试   java Bukkit插件:空白符号   java在按下按钮后改变彩色正方形的大小   javajavac相当于“D”?   java序列化接口   属性无法从属性文件返回值   java我应该使用什么查询来使用Jsoup从html页面提取符号?   java Android Studio项目结构问题   JAVA方法和返回值/公共变量(基础)   java将NativeQuery映射到POJO   java如何在下面的程序中消除NumberFormatException?   在java中获取链表与数组中的对象   java Android Firebase将用户发送到聊天室