私の古い従業員は 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 と通信するコミット トランザクションを少なくとも 2 回実行する必要はありませんか?
それは好ましいですか?また、これを行うには、私の 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)