【问题标题】:Django show image/video which is outside of static folderDjango显示静态文件夹之外的图像/视频
【发布时间】:2017-07-09 20:03:09
【问题描述】:

我想制作一个在网络上显示文件树并在网络上打印图像/视频的网站。
我打算用html标签imgvideo打印它。但是路径存在一些问题。我的大部分静态文件(如视频或 img)都位于 django 项目文件夹之外。
例如 django 模板源和视图源在/Users/Knight/My-site/Damotorie_cafe/views.py,图像在/Applications/MAMP/practice
我尝试使用 python 代码获取相对路径并将其用于 src 属性。
当我不使用 django 并使用本地 Web 浏览器打开它时,相同的路径效果很好,但是当我使用 django 打开它时会出现错误。

我是 django 的初学者。谁能帮我? (我在问之前搜索了它,但大多数问题是关于上传不显示图像。)

【问题讨论】:

    标签: python html django web path


    【解决方案1】:

    您需要在 Django 中配置静态文件。在settings.py中,需要设置:

    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, "static"),
        '/path/to/your/images/outside/web/tree/'
    ]
    STATIC_URL = '/static/'
    

    在开发中,您需要在您的基本 urls.py 文件中进行设置:

    urlpatterns = [
        url(r'^$', views.index, name='index'),
        url(r'^login', auth_views.login, name='login'),
        ...
    ]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    

    然后在你的模板文件中,首先将它设置在模板文件的顶部,这样你就加载了'static'标签:

    {% load staticfiles %}
    

    然后你使用静态变量:

    <img src="{% static 'path/img' %}"/>
    

    诀窍是,Django 搜索 STATICFILES_DIRS 以在您的模板文件中找到该“路径”,因此最终“路径”必须与您在其他列出的 STATICFILES_DIRS 中的任何内容不同。它按顺序搜索列表,无论如何都会找到第一个匹配的。

    【讨论】:

      猜你喜欢
      • 2020-06-21
      • 2016-11-23
      • 2020-11-28
      • 2019-05-30
      • 2021-10-17
      • 2017-03-05
      • 1970-01-01
      • 2015-09-02
      • 1970-01-01
      相关资源
      最近更新 更多