在 app1 中,我尝试从 app2 加载静态文件。我设置了没有STATICFILES_FINDERS
在项目中settings.py
, 意思是,Django 将使用默认值 https://docs.djangoproject.com/en/1.10/ref/settings/#staticfiles-finders AppDirectoriesFinder
当它在应用程序目录中找到静态子目录时。
Problem:
在模板文件中app1
,我可以很容易地生成app1的静态文件的url。但如果我想要app1
为静态文件生成 url 的模板文件app2
,链接不起作用。我怎样才能在app1
生成静态文件app2
?
App1模板文件:
{% load static %}
<img src="{% static "app1/example.jpg" %}"> <!-- ok -->
<img src="{% static "app2/example.jpg" %}"> <!-- link broken -->
HTML 输出:
<img src="http://localhost:8000/static/app1/example.jpg">
<img src="http://localhost:8000/static/app2/example.jpg">
我有同样的问题。我在 settings.py 中设置这个变量来处理它
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'app1/static/'),
os.path.join(BASE_DIR, 'app2/static/'),
]
因此,无论您从哪个应用程序调用它,这两个模具都可以在静态模板标记中使用。
我正在使用 django 2.1。
观察:
1 - 当您使用 startapp 命令时,这可能是默认设置的。我不知道。
2 - BASE_DIR 是settings.py 的绝对路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)