• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    django自定義用戶user模型的三種方法

    來源:懂視網 責編:小采 時間:2020-11-27 14:31:25
    文檔

    django自定義用戶user模型的三種方法

    django自定義用戶user模型的三種方法:django version: 1.7.1 最簡單的推薦: 使用abstractuser擴充fields 代碼如下: profiles/models.py from django.db import models from django.contrib.auth.models import AbstractUser from django.u
    推薦度:
    導讀django自定義用戶user模型的三種方法:django version: 1.7.1 最簡單的推薦: 使用abstractuser擴充fields 代碼如下: profiles/models.py from django.db import models from django.contrib.auth.models import AbstractUser from django.u

    django version: 1.7.1

    最簡單的推薦:
    使用abstractuser擴充fields

    代碼如下:


    profiles/models.py

    from django.db import models
    from django.contrib.auth.models import AbstractUser
    from django.utils.translation import ugettext_lazy as _

    # Create your models here.
    class KarmaUser(AbstractUser):
    karma = models.PositiveIntegerField(_("karma"),default=0,blank=True)
    settings.py

    AUTH_USER_MODEL = 'profiles.KarmaUser'

    2.使用abstractbaseuser

    只有當你對user
    model里面的默認字段不滿的時候才要使用,這個方法只保留了passwork,last_login,is_active三個字段
    參考官方文檔:
    https://docs.djangoproject.com/en/1.7/topics/auth/customizing/

    3.使用一對一關系將相關的模型一個個聯系起來

    這很像django 1.5之前的方式.很適用于創建第三方擴充包的場景,松耦合,不會破壞之前項目的結構.

    需要此方法的場景:
    - 在自己的django prj下,希望有多重user擁有各自很不相同的字段.或許希望有些用戶組合起來一些用戶的類型字段,并且希望能在模型層面上解決這些問題.
    例子如下:

    profiles/models.py

    代碼如下:


    from django.conf import settings
    from django.db import models

    from flavors.models import Flavor

    class EaterProfile(models.Model):
    # 默認用戶資料
    user = models.OneToOneField(settings.AUTH_USER_MODEL)
    favorite_ice_cream = models.ForeignKey(Flavor,null=True,blank=True)

    class ScooperProfile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL)
    scoops_scooped = models.IntegerField(default=0)

    class InventorProfile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL)
    flavors_invented = models.ManyToManyField(Flavor,null=True,blank=True)

    個人認為在我的建站場景中,第二種最合適.正在測試是否可以用抽象類簡化模型.待續...

    以上3種方法各有優劣,大家根據自己的需求,自由選擇吧。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    django自定義用戶user模型的三種方法

    django自定義用戶user模型的三種方法:django version: 1.7.1 最簡單的推薦: 使用abstractuser擴充fields 代碼如下: profiles/models.py from django.db import models from django.contrib.auth.models import AbstractUser from django.u
    推薦度:
    標簽: 方法 用戶 自定義
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲国产另类久久久精品| 一本一道精品欧美中文字幕| 久久性精品| 99久久精品日本一区二区免费| 九九热这里只有在线精品视| 亚洲国产精品日韩| 99精品久久久久久久婷婷| 亚洲国产精品无码专区在线观看 | 精品亚洲成α人无码成α在线观看 | 国产精品福利电影一区二区三区四区欧美白嫩精品| 国产精品午睡沙发系列| 亚洲精品国精品久久99热| 亚洲Av永久无码精品三区在线| 国产精品亚洲αv天堂无码| 精品国产欧美一区二区| 久久九九精品99国产精品| 四虎精品成人免费视频| 国产在AJ精品| 国产在线精品一区二区三区不卡 | 在线欧美v日韩v国产精品v| 99re这里只有精品6| 精品无人区一区二区三区| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 国产精品视频九九九| 中文字幕亚洲精品| 国产成人精品男人的天堂538 | 国产成人精品白浆久久69| 欧美精品亚洲精品日韩传电影 | 国产精品毛片一区二区三区| 麻豆国产精品VA在线观看不卡| 国产区精品高清在线观看| AAA级久久久精品无码区| 久久精品国产亚洲AV麻豆网站| 亚洲Av无码精品色午夜 | 青青草国产精品久久| 99精品国产一区二区三区| 99re热视频这里只精品| 国产精品爽黄69天堂a| 国产精品第13页| 久久精品一区二区| 精品一区二区久久|