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