• 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开头,后面写什么都行
    
    ]

  • 相关阅读:
    linux Centos防火墙工具iptables的使用
    SpringBoot中的注解分析
    context:property-placeholder
    HTTPS(SSL)证书下载及配置
    Dubbo之多注册中心以及zookepeer服务的查看
    重要事情老是忘?别急~看这里
    重要事情老是忘?别急~看这里
    多态
    抽象类,接口_05
    常用类
  • 原文地址:https://www.cnblogs.com/lshedward/p/10386831.html
Copyright © 2020-2023  润新知