【发布时间】:2012-07-11 17:46:49
【问题描述】:
我的老员工通过 PIP 安装了 Pinax,它安装在站点包中。所有的应用程序都在那里。我们自己的应用程序位于我们的 Django 项目结构中。
我想修改 Pinax 的帐户应用程序,将 create_user 的 is_active 标志切换为 False。目前,该应用程序使其成为True。我还想为create_user 或我想做的任何功能添加额外的功能。
from pinax.account import forms
class MyCustomizeForm(forms.SignupForm):
def create_user(....):
super(....)
// additional...
也许是这个? 但这不需要我至少做两个与 DB 对话的提交事务吗?
这样更好吗?此外,这样做是否需要我更改 Django 项目中的其他任何内容(用户如何注册、它使用什么视图……它使用什么形式)?
目前,我的 Django 项目中有一个应用程序应该处理 account 应用程序的扩展/自定义。我无法将站点包提交到 VCS.... 我的意思是.. 我不应该在那里进行任何更改。
谢谢。
Pinax 帐户/models.py
class Account(models.Model):
...
def its_own_method(...)
# this is in the same indentation level as class Account
def create_account(sender, instance=None, **kwargs):
if instance is None:
return
account, created = Account.objects.get_or_create(user=instance)
post_save.connect(create_account, sender=User)
【问题讨论】:
标签: django django-forms pinax