django之media配置

一、没有配置Media

avatar = models.FileField(upload_to='avatars/', default='/avatars/default.png')  # 储存头像的models代码

Django实现:

  • django会将文件对象下载到项目的根目录中avatars文件夹中(如果没有avatars文件夹,Django会自动创建)
  • default的意思是是如果该用户没有头像,会默认去找avatars下的default.png

 

二、Media配置

首先django有两种静态文件

  • /static/ : js , css ,img
  • /media/ : 用户上传文件

配置Media

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

 

获取用户上传头像

 avatar_obj = request.FILES.get('avatar')

 user_obj = UserInfo.objects.create_user(
                username=user,
                password=pwd,
                email=email,
                avatar=avatar_obj,
            )

 

配置Media后的django实现:

会将文件对象下载到MEDIA_ROOT中avatars文件夹中(如果没有avatars文件夹,Django会自动创建),user_obj的avatar存的是文件路径。

 

三、Media配置之MEDIA_URL

配置MEDIA_URL是为了让客户端直接访问Media中的数据,类似于STATIC_URL

 

settings.py

MEDIA_URL = '/media/'

 

urls.py

from django.urls import path, re_path
from django.views.static import serve

from cnblog import settings


urlpatterns = [

    # media配置
    re_path(r'media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT})  # 主要以media开头,后面写什么都行

]

 

转载于:https://www.cnblogs.com/lshedward/p/10386831.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值