這篇文章帶給大家的內容是關於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中文網其他相關文章!