有关扩展任何Django应用程序的问题

时间:2012-07-11 17:46:49

标签: django django-forms pinax

我的老工人通过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

1 个答案:

答案 0 :(得分:1)

您可以使用django signals来确定这种情况。信号适用于需要一般分发的应用程序,并不总是知道如何将它们集成到项目中。

您感兴趣的信号是pre_save。您可以将pre_save连接到pinax.account模型,并在保存即将发生时收到通知。这将使您有机会对该模型实例进行更改。信号是同步的,这意味着您在pinax.accounts完成保存之前连续进行更改