1. 程式人生 > 程式設計 >django實現使用者註冊例項講解

django實現使用者註冊例項講解

建立一個apps包 專門來放子應用

建立users子應用 處理使用者事務

追加導包路徑

在settings中用 print(sys.path) 檢視現有導包路徑

sys.path.insert(0,'/home/python/oldproject/meiduo/meiduo/apps')

但是這樣過於low 換成下面這樣

sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

這樣就可以簡化導包方式

自定義使用者模型類

django自帶的使用者模型類User

#位置 django.contrib.auth.models.User
#繼承自AbstraUser AbstraUser裡定義了使用者具備的欄位 如使用者名稱 密碼 郵箱 還封裝了校驗密碼等一系列方法
class User(AbstractUser):
  """
  Users within the Django authentication system are represented by this
  model.

  Username,password and email are required. Other fields are optional.
  """
  class Meta(AbstractUser.Meta):
    swappable = 'AUTH_USER_MODEL'

所以我們要為使用者模型類再增加一個手機號碼的欄位 apps.users.models 中定義

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
  #自定義使用者模型類
  mobile = models.CharField(max_length=11,unique=True,verbose_name='手機號')

  class Meta:
    db_table = 'tb_users' #自定義表名
    verbose_name = '使用者' # 在admin站點管理中顯示這個表叫什麼
    verbose_name_plural = verbose_name

由於django有預設使用的使用者模型類 'django.conf.global_settings' 中

AUTH_USER_MODEL = 'auth.User' #這裡還是之前未自定義的使用者模型類

我們要重新指定 在settings中

#AUTH_USER_MODEL = '應用名.模型類名'
# 指定本專案使用者模型類
AUTH_USER_MODEL = 'users.User'

定義完模型類之後別忘了建立遷移檔案 和執行遷移檔案

命令列中

python manage.py makemigrations
python manage.py migrate

以上就是本次介紹的全部相關知識點例項程式碼,感謝大家的學習和對我們的支援。