ホームページ > バックエンド開発 > Python チュートリアル > Django チュートリアルでの User-Profile の使用の概要 (ソース コードが添付されています)

Django チュートリアルでの User-Profile の使用の概要 (ソース コードが添付されています)

不言
リリース: 2018-09-15 14:23:56
オリジナル
2380 人が閲覧しました

この記事では、Django チュートリアルでの User-Profile の使用方法を紹介します (ソース コードが添付されています)。これには一定の参考価値があります。必要な友人は参照できます。お役に立てば幸いです。

プロファイル関数: User の組み込みフィールドは完全ではないため、単一のユーザー情報になります。プロファイルは User を拡張するもの、つまりユーザー情報を充実させるものです。

Create aモデル内のクラスをプロファイルし、フィールドを追加します。ユーザーはユーザーと OneToOne 関係を形成し、カスケード削除を行います

on_delete=models.CASCADE
ログイン後にコピー

信号関連のパッケージを導入します

from django.dispatch import receiverfrom django.db.models.signals import post_save
ログイン後にコピー

Decorator デコレーション機能では、ユーザーの作成時に信号がトリガーされ、プロファイルのユーザー フィールドが自動的に作成および関連付けられます。ユーザーの保存時に信号がトリガーされ、プロファイルが自動的に保存されます。

ソース コード

from django.db import models
from django.contrib.auth.models import User
#信号
from django.db.models.signals import post_save,post_init
from django.dispatch import receiver
class Profile(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE)
    birth = models.DateField(null=True,blank=True)
    def __str__(self):
        return self.user.username
    class Meta:
        db_table = 'profile'
@receiver(post_save,sender=User)
def create_user_profile(sender,instance,created,**kwargs):
    print('创建User')
    if created:
        Profile.objects.create(user=instance)
@receiver(post_save,sender=User)
def save_user_profile(sender,instance,**kwargs):
    print('保存User')
    instance.profile.save()
ログイン後にコピー

関連する推奨事項:

#Django のセッションで User オブジェクトを使用する方法

Nginx uWSGI Django メソッド Django プログラムを使用してデプロイする方法を説明する 5 つのステップ

以上がDjango チュートリアルでの User-Profile の使用の概要 (ソース コードが添付されています)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート