django - 全局加载Django "static"模板标签库,无需在每个文件中显式加载

标签 django python-2.7 django-templates django-staticfiles django-1.4

我想在模板中使用静态标签,如下所示:

<img src="{% static "img/test.jpg" %}">

我发现这需要我把

{% load static %}

位于每个模板文件的开头。 由于我在任何地方都使用它,因此我希望它成为全局可用的标记,这样我就不需要放置 {% load static %} 来使用它。

在我的设置中,我确实有:

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.static',
)

我看到了这两个问题: Make django static tag globally availableLoad a Django template tag library for all views by default 尽管两者似乎都没有回答这个问题。在前者中,问题不清楚,在后者中,当我尝试使用时出现错误:

from django.template.loader import add_to_builtins
add_to_builtins('django.core.context_processors.static')

也许我没有把它放在正确的位置,或者它已经是核心的一部分所以不起作用?

如何自动将静态标记添加到所有模板文件中,而无需为每个文件显式加载它?

最佳答案

我认为很多答案都忘记了需要将代码放在哪里。好吧,首先让我告诉您,您可以使用以下代码来完成工作:

from django.template.loader import add_to_builtins
add_to_builtins('django.templatetags.static')

现在将其放入您的主 urls.py 文件中。这对我有用。

关于django - 全局加载Django "static"模板标签库,无需在每个文件中显式加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18709803/

相关文章:

python - 如果列表返回空,Django 将禁用链接

django 按字段的最大值选择行

python - Django View 之间的身份验证

python pandas csv 到 html UnicodeEncodeError

python - 使用多个版本的 Python

javascript - 如何通过ajax将值从django模板发送到 View ?

django - 在 Django 1.5 中更改登录表单的默认模板

python - "http method not bound to view"在 drf_yasg 中记录基于类的 View 时

python - 模型字段(在 django 中)和序列化器字段(在 django rest 框架中)之间的区别

python - 在函数式编程(或其他方式)中递归时,使用显式状态变量的好处/限制是什么?