如何覆盖Mezzanine文件?

时间:2012-11-23 04:23:15

标签: python django mezzanine

我正在使用Mezzanine +墨盒并想要自定义它。

我可以通过将模板放在项目模板文件夹中来覆盖模板。

但我不知道如何覆盖视图和模型。因为我必须为我的项目编辑一些额外的功能。

例如..在注册时保存cookie,我是通过编辑根文件完成的。但有人可以告诉我如何在我的项目中覆盖这些特定功能。

由于

1 个答案:

答案 0 :(得分:2)

您可以通过两种主要方式处理对第三方应用的修改。

如果您想要的某些部分与第三方应用程序提供的内容有很大不同,您可以考虑分支项目,进行更改并将更改推送到其git存储库,然后通过

pip install -e git+git://github.com/YourUsername/forked-django-app.git#egg=forked-django-app

如果你认为这可能太麻烦,另一种方法是在你自己的项目的urls.py中声明一个特定的url / view函数(在第三方应用程序中定义)。

在您的情况下,您尝试重新映射的是mezzanine.accounts.urls。参考 - https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/accounts/urls.py

所以你基本上可以在你自己的项目的urls.py中声明要覆盖的url,它将优先于mezzanine声明的url,你可以将它指向你的自定义视图函数。

如果你真的需要修改夹层models.py之一,我建议你去上面提到的分叉路线。