首頁 >後端開發 >Python教學 >Django教學中User-Profile的使用方法介紹(附原始碼)

Django教學中User-Profile的使用方法介紹(附原始碼)

不言
不言原創
2018-09-15 14:23:562354瀏覽

這篇文章帶給大家的內容是關於Django教程中User-Profile的使用方法介紹(附源碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

Profile作用:User內建的字段不夠完善,導致創建的用戶資訊單一,Profile就是為了對User進行擴展,即豐富用戶資訊

在models中創建Profile類,添加字段user與User形成OneToOne關係以及級聯刪除

on_delete=models.CASCADE

引入與訊號相關的套件

from django.dispatch import receiverfrom django.db.models.signals import post_save

##裝飾器裝飾函數,User建立時訊號觸發自動建立Profile的user欄位並關聯;User儲存時訊號觸發,Profile自動儲存

來源碼

##
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的session中使用User物件的方法


五步驟教你實作使用Nginx uWSGI Django方法部署Django程式

以上是Django教學中User-Profile的使用方法介紹(附原始碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn