Skip to main content
 首页 » 编程设计

python之Django 无效 block 标记 : 'static' means what exactly

2025年05月04日32bonelee

(我使用的是 Django 1.3 - Python 2.7)

已解决所有相关问题,但没有任何解决方案。

语法错误在第 5 行,而不是第 1 行:

{% load static %} 
<html> 
    <head> 
          <link rel="stylesheet" href="{% static 'css/home.css' %}"> 

在查看相关问题后,一些建议的第一行应更改为:

{% load staticfiles %} 

我试过了,我得到的不是“无效的 block 标记:'static'”错误:

'staticfiles' is not a valid tag library: Template library staticfiles not found, tried django.templatetags.staticfiles,django.contrib.admin.templatetags.staticfiles

我仔细检查了设置文件:

STATIC_ROOT = '/home/username/mysite/static' 
# URL prefix for static files. 
# Example: "http://media.lawrence.com/static/" 
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 
STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
 
INSTALLED_APPS = ( 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
# Uncomment the next line to enable the admin: 
'django.contrib.admin', 
# Uncomment the next line to enable admin documentation: 
# 'django.contrib.admindocs', 
'mysite.myapp', 
 ) 

变成“Debug = False”

...和其他建议。但我仍然遇到同样的两个错误。

文件结构为:

mysite 包含以下文件夹/文件:myapp , 媒体 , 静止的 , 设置.py , ...

myapp 包含以下文件夹/文件:static , 模板 , View .py , ...

mysite -> static 和 myapp -> static 都包含相同的文件夹和文件。

请询问您是否需要更多信息。

如有任何帮助/指导,我们将不胜感激。谢谢。

请您参考如下方法:

在 Django 1.3 中没有静态标签,你必须像这样使用它:

{% load static %} 
<img src="{% get_static_prefix %}images/hi.jpg" /> 

或将静态添加到 TEMPLATE_CONTEXT_PROCESSORS 并直接从模板使用 STATIC_URL:

#  settings.py 
TEMPLATE_CONTEXT_PROCESSORS = ( 
    #  other processors 
    ’django.core.context_processors.static’, 
) 
 
#  some.html 
<img src="{{ STATIC_URL }}images/hi.jpg" />