我的老员工通过 PIP 安装了 Pinax,它安装在站点包中。所有的应用程序都在那里。我们自己的应用程序在我们的 Django 项目结构中。
create_user
我想通过将'is_active
标志切换为 False 来修改 Pinax 的帐户应用程序。目前,该应用程序使其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)