1. 程式人生 > 其它 >User表配置

User表配置

使用者要基於auth的user表,必須在資料庫遷移命令之前操作好,後期如果再做,會出錯,

解決方案如下:

# 解決方案:
把所有app下的遷移檔案,全刪除

通過from django.contrib import auth找到auth並進入
把admin,auth app下的遷移檔案刪除
刪庫(資料一定要匯出來),重新遷移  (自己嘗試一下)

繼承AbstractUser,增加兩個欄位,telephone,icon(依附於pillow)

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

class User(AbstractUser): mobile = models.CharField(max_length=11) # ImageField依賴於pillow模組,需安裝pillow模組 icon = models.ImageField(upload_to='icon',default='icon/default.png')

在setting中配置

MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')  #現在的BASEDIR是luffyapi下的luffyapi
AUTH_USER_MODEL='
user.user'

路由,開放media資料夾介面

from django.views.static import serve
from django.conf import settings
re_path('media/(?P<path>.*)', serve,{'document_root':settings.MEDIA_ROOT}),

然後就可以執行資料庫遷移命令了

# 執行資料庫遷移命令

python manage.py makemigrations
python manage.py migrate

如果出現以下報錯,是因為我們沒有註冊app,

只需要在 INSTALLED_APPS 配置中註冊以下app就可以了