我的老工人通过PIP安装了Pinax,它安装在站点包中。所有的应用都住在那里。我们自己的应用程序在我们的Django项目结构中。
我想通过将create_user
的{{1}}标志切换为False来修改Pinax的帐户应用。目前,该应用已将其设为is_active
。我还想为True
或我想做的任何功能添加其他功能。
create_user
也许这个? 但这不是要求我至少做两个与DB交谈的提交事务吗?
这更可取吗?此外,这样做是否需要我更改我的Django项目中的任何其他内容(用户如何注册,使用哪些视图...它使用什么形式)?
目前,我在我的Django项目中有一个应用程序,假设处理from pinax.account import forms
class MyCustomizeForm(forms.SignupForm):
def create_user(....):
super(....)
// additional...
应用程序的扩展/自定义。我无法将网站包提交给VCS ....我的意思是......我不应该在那里做任何改变。
感谢。
Pinax account / models.py
account
答案 0 :(得分:1)
您可以使用django signals来确定这种情况。信号适用于需要一般分发的应用程序,并不总是知道如何将它们集成到项目中。
您感兴趣的信号是pre_save。您可以将pre_save连接到pinax.account模型,并在保存即将发生时收到通知。这将使您有机会对该模型实例进行更改。信号是同步的,这意味着您在pinax.accounts完成保存之前连续进行更改