模块,以便于配置外部django应用程序。
django-easyconfig的Python项目详细描述
django easyconfig
此应用程序可以轻松自定义外部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
就这样。很容易吧?:)
版权和担保
所有文档、库和示例代码 版权所有2010 Peter Sanchez<;petersanchez@gmail.com>;。图书馆和 示例代码根据BSD许可证的条款提供给您 包含在包含的文件bsd-license中。
商业支持
这个软件,以及许多其他类似的软件,都是内置的 支持许多Netlandish自己的项目,以及 客户。我们很乐意为你的下一个项目提供帮助 在hello@netlandish.com给我们留言。