User表配置
阿新 • • 發佈:2022-05-27
使用者要基於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 AbstractUserclass 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就可以了