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

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

不言
發布: 2018-09-15 14:23:56
原創
2368 人瀏覽過

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板