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})
]

 

posted @   三三得九86  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示