我正在使用Mezzanine +墨盒并想要自定义它。
我可以通过将模板放在项目模板文件夹中来覆盖模板。
但我不知道如何覆盖视图和模型。因为我必须为我的项目编辑一些额外的功能。
例如..在注册时保存cookie,我是通过编辑根文件完成的。但有人可以告诉我如何在我的项目中覆盖这些特定功能。
由于
答案 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
之一,我建议你去上面提到的分叉路线。