07、 user模块User表、media配置
1、user模块User表
1 创建user模块
前提:在 luffy 虚拟环境下 # 1.终端从项目根目录进入apps目录 cd luffyapi & cd apps # 2.创建app python ../../manage.py startapp user
2 user/models.py下创建User表
from django.db import models from django.contrib.auth.models import AbstractUser # 自定义User表,继承AbstractUser,增加两个字段mobile、icon class User(AbstractUser): mobile = models.CharField(max_length=11, unique=True) # 需要pillow包的支持(pip install pillow) icon = models.ImageField(upload_to='icon', default='icon/default.png') class Meta: db_table = 'luffy_user' # 给此表起名叫luffy_user verbose_name = '用户表' # 后台管理显示中文 verbose_name_plural = verbose_name # 复数也是中文,不带s # 打印对象的时候显示用户名字 def __str__(self): return self.username
3 配置User表:dev.py注册user模块
# 注册user模块 INSTALLED_APPS = [ # ... 'user', ] # 注册自定义User表 AUTH_USER_MODEL = 'user.User'
2、dev.py中配置media
media主要用于存放media文件夹会将将用户上传的静态文件(如头像等图片)
# media配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
3、数据库迁移
注意扩写的User表一定要在迁移表模型之前完成,否则扩写需要删除三分迁移记录(麻烦)
# 1)cd到根目录所在的终端
# 2)安装pillow模块
pip install pillow
# 3)数据库迁移
python manage.py makemigrations
python manage.py migrate
4、media配置
根目录下新建media文件
在Django框架中,static文件和media文件都是用来配置静态文件的,暴露给外界进行使用的
区别是static软件自己本身有的静态文件,而media内部的文件一般是用户上传的静态资源。
配置 settings.py
MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 用于存放各类媒体文件
配置 urls.py
from django.urls import path from django.views.static import serve from django.conf import settings urlpatterns = [ path('media/<path:path>', serve, {'document_root': settings.MEDIA_ROOT}) ]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通