Django 无效的块标签:'static'到底是什么意思?



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

所有相关问题都没有解决。

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

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

在回顾了相关问题后,有人建议将第一行改为:

{% load staticfiles %}

我试过了,而不是"无效块标记:'static'"错误,我得到:

'staticfiles'不是一个有效的标签库:模板库staticfiles not found,尝试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包含以下文件夹/文件、媒体、静态, settings.py…

myapp包含以下文件夹/文件、模板, views.py…

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

如果你需要更多的信息,请询问。

任何帮助/指导将不胜感激。谢谢。

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

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

或将static添加到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" />

最新更新