Python Django显示静态文件夹之外的图像/视频

Python Django显示静态文件夹之外的图像/视频,python,html,django,web,path,Python,Html,Django,Web,Path,我想制作一个网站,在网站上显示文件树,并在网站上打印图像/视频。 我计划用html标签img和video打印它。但是,path存在一些问题。django项目文件夹之外的大多数静态文件(如视频或img)。 例如,django模板源和视图源位于/Users/Knight/My site/Damotorie_cafe/views.py,图像位于/Applications/MAMP/practice 我试图用python代码获取相对路径,并将其用于src属性。 当我不使用django,只使用本地web浏

我想制作一个网站,在网站上显示文件树,并在网站上打印图像/视频。
我计划用html标签
img
video
打印它。但是,path存在一些问题。django项目文件夹之外的大多数静态文件(如视频或img)。
例如,django模板源和视图源位于
/Users/Knight/My site/Damotorie_cafe/views.py
,图像位于
/Applications/MAMP/practice

我试图用python代码获取相对路径,并将其用于src属性。
当我不使用django,只使用本地web浏览器打开它时,同样的路径也能正常工作,但是当我使用django打开它时,就会出现错误

我是django的首发。有人能帮我吗?
(我在询问之前搜索了它,但大部分问题是关于上传而不是显示图像。)

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

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    '/path/to/your/images/outside/web/tree/'
]
STATIC_URL = '/static/'
在开发过程中,需要在基本URL.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_dir以在模板文件中找到该“路径”,因此结尾的“路径”必须与列出的其他STATICFILES_dir中的任何内容不同。它会按顺序搜索列表,并在任何情况下都会找到第一个匹配的列表