国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何在Django中創建自己的自定義用戶模型?

開發 后端
本文將幫助大家在Django中創建自己的自定義用戶模型。希望能幫助到你。

 本文將幫助大家在Django中創建自己的自定義用戶模型

[[411685]]

自定義用戶模型有什么需求?

創建自己的自定義用戶模型至關重要。將來,如果要對模型進行一些更改,則可以輕松進行這些更改。不然我們可能必須對模型進行一些更改,而且代碼的某些部分也將被更改。在某些網站中,與用戶名相比,使用電子郵件進行登錄是有意義的。因此,對于程序員而言,擁有自定義用戶模型是一個好習慣。

本文將幫助大家根據需要創建自己的自定義用戶模型。請繼續執行以下步驟。

  1.  Django 安裝
  2.  創建Django應用
  3.  該應用程序的自定義模型
  4.  遷移數據庫

1. Django安裝

設置Django之后,進入創建的環境。然后,我們可以通過以下命令創建Django項目。

  1. django-admin startproject mysite 

2.創建Django應用

如果發現某些網站使用了類似/ accounts /的URL,它們看起來就是專業代碼。因此,我們還需要創建一個名為accounts的應用程序,在其中管理與該帳戶有關的所有事情。因此,在當前環境中,使用以下命令創建Django應用。 

  1. python manage.py startapp accounts 

創建后,該應用將包含基本文件。創建的文件如下所示。 

  1. accounts/  
  2.     __init__.py  
  3.     admin.py  
  4.     apps.py  
  5.     models.py  
  6.     tests.py  
  7.     views.py 

一旦創建,所有的數據庫模型代碼都應該寫在models.py文件中。另外,不要忘記創建一個urls.py文件,該文件有助于通過帳戶應用程序路由鏈接。創建完成后,讓我們進入根據我們的需求構建自定義用戶模型的下一步。

3.該應用程序的自定義模型

因此,為了創建自定義用戶模型,我們需要在models.py文件中寫下以下代碼,因為python使用對象來管理和訪問存儲在數據庫中的數據。下面提到了models.py文件的代碼。 

  1. from django.db import models  
  2. from django.contrib.auth.models import AbstractBaseUser , BaseUserManager  
  3. import uuid  
  4. class UserManager(BaseUserManager):  
  5.     def create_user(self, email, firstname, lastname, phone,password=None):  
  6.         user = self.model(  
  7.             email = self.normalize_email(email),  
  8.             firstnamefirstname = firstname,  
  9.             lastnamelastname = lastname,  
  10.             phonephone = phone,  
  11.         )  
  12.         user.set_password(password)  
  13.         user.save(using = self._db)  
  14.         return user   
  15.     def create_superuser(self, email,firstname,lastname,phone,password=None):  
  16.         user = self.create_user(  
  17.             emailemail=email,  
  18.             passwordpassword=password,  
  19.             firstnamefirstname = firstname,  
  20.             lastnamelastname = lastname,  
  21.             phonephone = phone,  
  22.         )  
  23.         user.is_admin = True  
  24.         user.is_staff = True  
  25.         user.save(using=self._db)  
  26.         return user   
  27. class User(AbstractBaseUser):  
  28.     id = models.CharField(max_length=200default=uuid.uuid4,unique=True,primary_key=True 
  29.     email = models.EmailField(null=Falsemax_length=100,unique=True 
  30.     firstname = models.CharField(null=Falsemax_length=100 
  31.     lastname = models.CharField(null=Falsemax_length=100 
  32.     phone = models.IntegerField(null=False,unique=True 
  33.     date_joined = models.DateTimeField(auto_now=True 
  34.     last_login = models.DateTimeField(auto_now=True
  35.     is_admin = models.BooleanField(default = False 
  36.     is_active = models.BooleanField(default = True 
  37.     is_staff = models.BooleanField(default = False 
  38.     is_superuser = models.BooleanField(default = False 
  39.     USERNAME_FIELD = 'email'  
  40.     REQUIRED_FIELDS = ['firstname','lastname','phone']  
  41.     objects = UserManager()  
  42.     def __str__(self):  
  43.         return self.email + ", " + self.firstname    
  44.     def has_perm(self, perm, obj = None):  
  45.         return self.is_admin  
  46.     def has_module_perms(self, app_label):  
  47.         return True 

用戶類包含表的字段或結構,我們在其中獲取有關用戶的一些詳細信息以及其中的某些條件。為了管理User類,我們有UserManager,它將用于創建新用戶或超級用戶。就像我之前說的,這里的用戶名字段將被替換為電子郵件。它比用戶名字段更有意義。還提到了必填字段。通過使用電子郵件作為用戶名字段,它會自動將電子郵件字段添加為必不可少的字段。

因此,通過UserManager,我們可以創建一個新的普通用戶和一個超級用戶。user.set_password()會將純文本密碼哈希為默認的哈希算法。Django將PBKDF2與SHA-256哈希一起使用,并具有密碼擴展機制。user.save()函數將使用字段和哈希密碼保存創建的用戶。創建自定義用戶模型很簡單。

在這里需要注意,在創建模型之前不要遷移模型。在此之前,創建模型后,我們必須使用自定義模型更新Django設置文件,否則Django將使用其自己的預先實現的模型。只需在項目目錄中的settings.py文件中使用此代碼即可。

  1. AUTH_USER_MODEL = ‘accounts.User’ 

設置好模型后,就該將模型遷移到數據庫了。

4.遷移模型

現在,我們準備通過將更改遷移到數據庫中來遷移自定義用戶模型。使用以下命令在當前環境中遷移并執行該代碼。 

  1. python manage.py makemigrations  
  2. python manage.py migrate 

此命令將查找Django項目中的所有模型和模型中的更改。如果要專門為應用程序進行遷移,可以使用以下命令進行。 

  1. python manage.py makemigrations <app_name>  
  2. python manage.py migrate <app_name> 

可以將<app_name>替換為帳戶,以僅在該應用程序上進行更改。 

 

責任編輯:龐桂玉 來源: 馬哥Linux運維
相關推薦

2024-05-08 17:05:44

2019-12-02 21:29:45

Keras神經網絡TensorFlow

2021-06-17 06:52:37

C#自定義異常

2010-10-20 16:07:48

SQL用戶自定義角色

2021-07-01 11:07:49

Swift 自定義操作符

2019-06-21 09:50:47

Windows 10自定義分辨率

2009-07-03 18:20:45

VSTS 2010網絡

2015-02-12 15:33:43

微信SDK

2022-11-08 19:30:52

DjangoID自增

2022-04-14 06:20:25

GNOME桌面應用

2017-06-20 12:48:55

React Nativ自定義模塊Note.js

2013-03-28 16:59:56

Android開發自定義TitleBar

2010-08-03 16:13:01

FlexBuilder

2022-08-04 18:30:59

DockerfileDocker 鏡像Linux

2023-05-15 13:43:08

ChatGPT語言模型

2024-07-01 12:55:50

2024-03-04 11:13:29

Django數據庫Python

2009-09-07 21:25:59

Linq自定義

2022-05-07 10:22:32

JavaScript自定義前端

2022-06-06 09:01:16

SwiftUI自定義導航
點贊
收藏

51CTO技術棧公眾號

中文字幕一区不卡| 日韩大片一区二区| av第一福利在线导航| 亚洲欧洲精品一区二区三区| 欧美日韩一区综合| 精品国产一区二区三区噜噜噜| 欧美日韩久久久| av黄色免费| 成人激情综合网站| 日韩福利视频| 亚洲午夜视频| 5278欧美一区二区三区| 久久一本综合频道| 97视频com| 欧美性受黑人性爽| 成人高清网站| 欧美在线看片| 一区二区三区在线视频免费观看| 欧美日韩成人一区二区| 91九色偷拍| 国产福利视频在线播放| 中文字幕亚洲影视| 成人欧美一区二区三区白人 | 日韩成人午夜影院| 亚洲人体大胆视频| 两个人的视频www国产精品| 日韩三区免费| 国内外成人免费激情在线视频| 牛牛影视一区二区三区免费看| 91av中文字幕| 毛片网站在线看| 欧美性猛交xxxx乱大交极品| 成熟丰满熟妇高潮xxxxx视频| 国产日韩欧美电影| www.99色| 亚洲美女免费在线| 成人在线app| 狠狠做深爱婷婷久久综合一区| 可以在线观看的av| 欧美日本不卡视频| 老司机在线看片网av| 日韩精品中文字幕在线观看| 久久不卡日韩美女| 国产一区二区丝袜高跟鞋图片| 久久福利一区| 日韩不卡一二三| 日韩女优电影在线观看| 国产成人夜色高潮福利影视| 国产精品扒开腿做爽爽爽男男| 国产区一区二| 免费观看成人在线| 亚洲精品亚洲人成人网在线播放| 亚乱亚乱亚洲乱妇| 欧美精品亚州精品| 国产欧美不卡| 一级毛片高清视频| 欧美成aaa人片免费看| 国产日韩亚洲欧美精品| 校园春色 亚洲色图| 欧美日韩国产成人在线免费| 外国成人毛片| 欧美13一14另类| 亚洲视频在线观看三级| 国产成人福利夜色影视| 国产福利不卡| 欧美性xxxx在线播放| 秋霞在线一区| 国产成人久久777777| 亚洲电影天堂av| 农村少妇一区二区三区四区五区 | 日韩精品免费电影| 久久精品导航| www.久久热.com| 在线电影中文日韩| 日韩电影免费一区| 成人综合网址| 日韩激情av在线播放| 久久aⅴ国产欧美74aaa| 天堂美国久久| 好看的日韩精品| 精品一区二区三区的国产在线观看| 日韩欧美中文字幕在线播放| yjizz视频网站在线播放| 欧美三片在线视频观看| 成人在线免费观看| 久久久久久久国产精品| 日韩欧美一级| 天堂社区日本电影超碰| 成人午夜在线观看| 亚洲国产精品va在线| 中文字幕电影一区| 亚洲激情国产| 国内自拍亚洲| 日韩av成人| 久久婷婷国产精品| 日韩欧美视频一区二区| 欧美精品电影在线| 欧美一区二区免费视频| **性色生活片久久毛片| 久久99精品国产.久久久久久| 日韩美脚连裤袜丝袜在线| 毛片在线看片| 国产国产人免费人成免费视频| 久久一区免费| 欧美一级大片在线观看| 国产婷婷97碰碰久久人人蜜臀 | 激情婷婷综合网| 久久久久资源| 亚洲free性xxxx护士白浆| 超碰日本道色综合久久综合| 日韩一区二区三区精品视频| 亚洲图片欧美视频| 中文字幕一区二| 91色porny在线视频| 精品中文字幕一区二区| 国产综合亚洲精品一区二| 国产96在线亚洲| 日韩深夜视频| 日本不卡不卡| 国产香蕉在线| 尤物视频在线观看| 亚洲私人影吧| 欧美视频综合| 一级片免费在线| 成a人片在线观看www视频| 天堂v视频永久在线播放| 成人在线免费观看| 在线观看h网址| 北条麻妃在线一区| 成人小视频在线观看免费| 欧美成人蜜桃| 久久视频这里只有精品| 欧美mv日韩mv国产网站app| 亚洲精品五月天| 久久香蕉国产线看观看99| 一区二区精品| 女人色偷偷aa久久天堂| 综合久草视频| 人人九九精品视频| 91免费人成网站在线观看18| 色综久久综合桃花网| 久久久亚洲精选| 亚洲精品国产a| 亚洲1区2区3区4区| 91精品免费在线| 国产一区二区激情| 欧美一级黑人aaaaaaa做受| 国产suv精品一区二区三区88区| 亚洲一区二区三区久久| 日韩av影视| 日本一区二区三区免费观看| 日韩欧美成人激情| 中文字幕欧美国产| 欧美亚洲大片| 中文字幕欧美一区二区| 亚洲精品日韩成人| 日韩美女中文字幕| 日韩av在线不卡| 欧美精选一区二区| 国产精品网站一区| 国产在线精品一区二区夜色| 亚洲国产裸拍裸体视频在线观看乱了中文 | av在线中文| 18禁免费无码无遮挡不卡网站| 91久久国产精品| 国产精品99久久99久久久二8| 国产精品旅馆在线| 日韩一区二区三区在线播放| 欧美日韩中文一区| 国产成人精品一区二区三区四区| 99久久久久国产精品| 色综合天天爱| 在线精品视频一区| 人人妻人人做人人爽| 久久久精品视频在线观看| 欧美高清www午色夜在线视频| 中文字幕免费观看一区| 天天综合色天天综合| 高清国语自产拍免费一区二区三区| 一区二区三区四区在线视频| 污污动漫在线观看| 天堂地址在线www| 国产视频网址在线| 日韩欧美中文字幕一区二区三区| 蜜桃av在线| 亚洲社区在线观看| 欧美日韩精品三区| 色中色综合影院手机版在线观看| www亚洲欧美| 精品99久久久久久| 国产精品美女久久久久久久久久久| 欧美不卡高清| 国产91在线观看| 性久久久久久久久| 久久精品中文字幕一区二区三区 | 久久国产精品一区二区三区| www.亚洲人.com| 欧美疯狂性受xxxxx喷水图片| 国产拍欧美日韩视频二区| 精品99视频|