fakeinline提供了足够多的方法和属性,可以诱使django管理员在作为modeladmin内联声明的一部分装入时显示它。
django-fakeinline的Python项目详细描述
Author: | Keryn Knight |
---|---|
Version: | 0.1.1 |
fakeinline提供了足够的方法和属性来欺骗 Django Admin在作为^{tt2}的一部分装入时显示$ 关于modeladmin的声明。如果可能的话,它不需要子类化 真正的django类,就像Duck Typing那样。
2个必需的子类是FakeInline类本身,它必须 子类InlineModelAdmin,和model属性FakeModel,其中 必须是子类Model,但它是非托管和抽象的,因此没有 触摸数据库。
Release | Status |
---|---|
master |
为什么?!
关于Django Admin最有趣的事情是试图将它弯曲成 我的意志。这是我获胜的一个例子。
不,真的,为什么?
因为能把额外的东西塞进管理系统实际上更好, 不重写每个模型、每个应用程序的change_form.html模板。
示例用法
下面是一个简单的方法,将经典单词hello world放到modeladmin上:
class MyFormset(FakeFormset): # this probably works, but usually you'd point it at a template file. template = Template('{{inline_admin_formset.formset.get_data}}') def get_data(self, *a, **kw): return 'Hello world' class MyInline(FakeInline): formset = MyFormSet class MyAdmin(ModelAdmin): inlines = [MyInline]
虽然这是一个愚蠢的例子,但它演示了如何封装显示数据。 (图表、更改历史等)在可重用(ish)组件中显示在 更改视图。
测试
在fakeinline.tests中有几个……足以证明它没有 在get或post上引发异常。
许可证
是FreeBSD。在存储库的根目录和任何存档中都应该有一个LICENSE文件。
版权所有(c)2016,Keryn Knight 保留所有权利。
在满足以下条件的情况下,允许以源代码和二进制格式重新分发和使用(无论是否修改):
- 源代码的重新发布必须保留上述版权声明、此条件列表和以下免责声明。
- 以二进制形式重新分发必须在分发时提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
此软件由著作权人和出资人提供,如“是”,任何明示或默示保证,包括但不限于,适销性和适合特定目的的默示保证。在任何情况下,版权持有人或贡献者均不对任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于替代货物或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论其原因如何,也不论其责任理论是否在合同中,严格责任,或因使用本软件而产生的侵权行为(包括疏忽或其他),即使被告知此类损害的可能性。
更改fakeinline的历史记录
0.1.1
- 初始版本