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">
  • 相关阅读:
    Andoid自动判断输入是电话,网址或者Email的方法--Linkify
    Activity LifeCycle
    Android Log详解(Log.v,Log.d,Log.i,Log.w,Log.e)
    Android应用自动更新功能的实现!
    Android Layout: TableLayout
    Android实现动态改变屏幕方向(Landscape & Portrait)
    Android Intent 总结
    Android中Intent传递对象的两种方法:Serializable & Parcelable
    Activity的setResult方法
    css3中的calc()
  • 原文地址:https://www.cnblogs.com/cou1d/p/13540463.html
Copyright © 2011-2022 走看看