zoukankan      html  css  js  c++  java
  • Django --MEDIA的配置及用法

    1、前述

    在Django中,如果需要在数据库中,存储图片或视频类的数据,我们可以配置MEDIA。

    下面,演示一个上传图片的示例,来说明MEDIA的配置及用法,仅作为个人笔记使用。

    2、第一步:settings.py

    # media files 用户上传图片、视频
    MEDIA_URL = '/media/'   # 用于指定url路径
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')    # 用于指定上传文件的存储路径

    3、第二步:urls.py

    ps:本案例使用Django版本2.0,re_path作用等同于 1.x版本的url

    from django.contrib import admin
    from django.urls import path, re_path, include
    from django.views.static import serve
    from mysite.settings import MEDIA_ROOT
    
    urlpatterns = [
        path('admin/', admin.site.urls),
      # media的路径配置 re_path(r
    'media/(?P<path>.*)/$', serve, {'document_root': MEDIA_ROOT}), ]

    4、第三步:models.py

    from django.db import models
    from django.contrib import admin
    
    # 用于测试MEDIA的表
    class TestMedia(models.Model):
        # 该字段将存储上传的图片路径
        image = models.ImageField(upload_to='picture/%Y-%m')
    
        def __str__(self):
            self.name = "TestMedia_picture"
            return self.name
    
    
    # 装饰器,作用:将模型TestMedia注册到admin后台,用于显示该表的信息
    admin.site.register(TestMedia)

    5、第四步:启动Django并访问admin页面,上传图片

     6、第五步:查看并访问上传的图片

     可见,上传完毕后,项目根目录下生成了 media 文件夹,且 路径与数据库中所设置的是一致的。

    这样,便可以拿到刚上传的图片了:

     7、结尾:

    以上就是 Django中有关 MEDIA的配置及使用方法,希望对大家有所帮助。 

  • 相关阅读:
    所谓的产品哲学
    功能测试
    2019做自己想做的事,学没学过的知识,比如学着去做产品
    Java学习笔记记录(二)
    idea软件破解汉化
    Java学习笔记记录(一)
    Jenkins+VS项目持续集成
    项目研发工作计划开展规划
    Action 操作
    selenium IDE & Remote Control & Webdriver
  • 原文地址:https://www.cnblogs.com/gengyufei/p/12636357.html
Copyright © 2011-2022 走看看