模块,可轻松配置外部Django应用程序。
项目描述
django-easyconfig 
此应用程序将使自定义使用它的外部Django应用程序变得容易。
它采用了一种与旧的django.contrib.comments(现在为django-comments)框架非常相似的方法。它使使用自定义表单、值等变得容易。
快速示例…
假设您有一个开源的Django应用程序,允许您上传照片和一些元数据到该照片。为了能够自定义此表单,项目所有者必须修改应用程序的源代码以适应其需求(类名等),或者您必须使您的应用程序可定制。这就是django-easyconfig发挥作用的地方…
安装
基本安装
$ python setup.py build $ sudo python setup.py install
替代安装(手动)
将webutils目录放置在您的Python路径中。要么在您的Python安装的site-packages目录中,要么设置您的$PYTHONPATH环境变量以包括包含webutils目录的目录。
使用
XXX * 这些文档不是很好。我会尽快更新它们!
您必须在您的应用程序中创建一个“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)
现在,您只需在需要使用这些对象时使用您的yourapp.Config类。
这里是如何在urls.py文件中使用它的示例
### urls.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-LICENSE中的BSD许可条款向您提供。
商业支持
此软件以及许多类似软件已被构建以支持Netlandish的许多自有项目以及我们的客户的项目的开发。我们很乐意帮助您进行下一个项目,所以请通过给我们发邮件到 hello@netlandish.com 来联系。
项目详情
django-easyconfig-0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 676c67a0e2f2ef6a7dc32e0f670ba6c8b96dde4737a901d16dbe2738dfd04fbc |
|
MD5 | 033bb7d66733f38d4c49a90e4e8211d3 |
|
BLAKE2b-256 | 07a29f846d9bc1f11ae91b646625752590735ad9d683e420183d1d9dba18311e |