参考在.py文件的Django(而不是模板)静态文件(Reference static files

2019-10-21 18:03发布

我一直有一个小时寻找如何引用在Django静态文件,但我只找到如何做到这一点的模板。 在我的项目,我成功地在我的模板引用静态文件,但我并不想这样做的模板,我想这样做在我的.py文件。

我认为,我必须从somewere,我这个尝试引入静态:

from django.templatetags.static import static
from django.conf.urls.static import static

并试图像这样引用它

'<a href=/url> <img  src="{{ STATIC_URL }}image.png" ></a>'

我试着像所有可能的组合

{% static image.png %}
{{static image.png}}

等等...

谢谢!

Answer 1:

from django.templatetags.static import static
'<a href=/url> <img  src="{0}" ></a>'.format(static("image.png"))

需要注意的是django.templatetags.static实际上是一个功能。 当你使用模板标签模板引擎调用该函数。



Answer 2:

你可以阅读Django的配置以获得STATIC_URL其中包含静态文件的URL底座部分:

from django.conf import settings
import urlparse

print '<a href=/url> <img src="%s"></a>' % urlparse.urljoin(settings.STATIC_URL, 'image.png')


文章来源: Reference static files in django in .py files ( NOT in templates)