我花了好几个小时在这里看了看,但无法弄明白,所以我求助于更有经验的人。
这不是我第一次创建django应用程序,因此我引用了之前所做的,但没有任何帮助。我正在尝试使用“静态”模板标记来提供静态文件,但它不起作用。
我很确定我正确设置了所有内容(按照教程和我以前的项目;我将在下面提供设置),但是当我在本地运行服务器时,它找不到我的静态文件。当我用{{STATIC_URL}}标签替换静态模板标签时,它可以正常工作。我甚至在浏览器中输入了直接路径到静态文件,所有这些都可以工作。我得到CSS和JS文件的输出。它让我发疯,静态模板标签无效。
以下是我的设置:
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = 'staticfiles'
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/w/static/'
# URL prefix for admin static files -- CSS, JavaScript and images.
# Make sure to use a trailing slash.
# Examples: "http://foo.com/static/admin/", "/static/admin/".
#ADMIN_MEDIA_PREFIX = '/admin/media/'
# Additional locations of static files
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, 'static/'),
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',)
顺便说一句,我检查了静态文件夹的路径,这是正确的。我故意没有包含应用程序的名称,所以它就在那里。我还包括{%load static from staticfiles%}标签。正如我所提到的,只有静态标签不起作用。请有人解释我正在犯的愚蠢错误。
感谢
答案 0 :(得分:1)
我正在使用django 1.6.1
这是我的设置:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
TEMPLATE_DIRS = (os.path.join(BASE_DIR, "templates"),)
我的文件结构如下:
mysite myapp static templates manage.py
编辑:
{%load staticfiles%} not {%load static from staticfiles%}
你不需要使用STATIC_ROOT,除非你试图在每个应用程序中都有一个静态文件夹,我相信
我有这个question 例如.jpg!= .jpeg!所以也要找那个错误