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就可以了

 

posted @ 2022-05-27 14:38  _yessir  阅读(43)  评论(0编辑  收藏  举报