• 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">
  • 相关阅读:
    4月22日:毕业设计计划
    4月21日:毕业设计计划
    4月11日:毕业设计计划
    4月9日:毕业设计计划
    4月8日:毕业设计计划
    4月2日:毕业设计计划
    4月1日:毕业设计计划
    3月31日:毕业设计计划
    3月30日:毕业设计计划
    3月28日:毕业设计计划
  • 原文地址:https://www.cnblogs.com/cou1d/p/13540463.html
Copyright © 2020-2023  润新知