zoukankan      html  css  js  c++  java
  • Django 配置media文件

    为什么要配置media

    ​ 我们自己写的本地网页,不配置media也能访问到项目下的静态文件。但是当项目部署到服务器之后,就无法访问本地的静态文件了。所以为了让项目部署到服务器之后,能够访问静态文件,需要配置media。

    1、项目根目录下新建media文件夹

    media文件夹就是静态文件上传保存的路径

    2、settings.py中添加如下内容

    # settings.py import os # Django项目自动配置好的根路径 BASE_DIR = os.path.dirname(os.path.diname(os.path.abspath(__file__))) # TEMPLATES中新添'django.template.context_processors.media' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')] , 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', # 下面这句是新添加的内容 'django.template.context_processors.media', ], }, }, ] # 配置media文件夹的路径 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

    3、urls文件中配置路由

    # 总项目urls.py from django.views.static import serve from . import settings urlpatterns = [ # server是一个视图函数server(request, path), 通过path找到文件然后返回response # 字典中的document_root是默认参数,不是前端和后端传过来的 url(r'media/(?P<path>.*)$', server, {'document_root': settings.MEDIA_ROOT}) ]

    4、模板中使用

    ... # {{img.url}}是图片路径 <img class="media-object" src="{{ MEDIA_URL }}{{img.url}}" alt="hahaha">
  • 相关阅读:
    python 换行符的识别问题,Unix 和Windows 中是不一样的
    MaxCompute小文件问题优化方案
    MaxCompute小文件问题优化方案
    C++ 中的sort()排序函数用法
    C++ 中的sort()排序函数用法
    简单记录几个有用的sql查询
    bzoj1084(SCOI2005)最大子矩阵
    bzoj1025(SCOI2009)游戏——唯一分解的思路与应用
    bzoj1087互不侵犯King(状压)
    bzoj2748(HAOI2018)音量调节
  • 原文地址:https://www.cnblogs.com/cou1d/p/13540463.html
Copyright © 2011-2022 走看看