我是一个Django新手,在我的第一个项目上工作并遇到静态文件的问题。Django静态文件将不会加载
我已经使用由两个模板组成的django.contrib.auth
创建了一个简单的认证系统:mysite/templates/index.html
和mysite/templates/registration/login.html
。我有mysite/static
全球静态内容,我希望能够访问所有应用程序呈现的所有模板。
mysite/templates/index.html
包含<img src="{{ STATIC_URL }}pics03.jpg"/>
当我访问的URL localhost:8000/
mysite/templates/registration/login.html
包含<img src="{{ STATIC_URL }}pics03.jpg"/>
也呈现为"static/pics03.jpg"
,当我访问的URL "localhost:8000/accounts/login/"
在我的网址不会加载它呈现为"static/pics03.jpg"
和加载罚款。 py我有:
urlpatterns = patterns('',
url(r'^$', 'mysite.views.home'), # plays index.html template
url(r'^accounts/login/$', 'django.contrib.auth.views.login'),
在我的settings.py我有:
PROJECT_DIR = os.path.dirname(__file__)
STATICFILES_DIRS = (
# 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.
os.path.join(PROJECT_DIR,'static'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
STATIC_URL = '/static/'
STATIC_ROOT = ''
我是Django的应该寻找在STATICFILES_DIRS全球静态内容的印象,但即使我在那里更改URL以一个绝对路径它没有找到login.html的静态内容静态文件夹。任何人都可以对此有所了解吗?
是的,这是问题..谢谢! – JimJay 2012-04-28 17:41:34
那么,实际上在后一种情况下,有必要包装该规则。如果你看看django的代码,你会发现这个视图不会检查DEBUG。 – 2013-02-25 21:57:16
该视图从未命中,因为您的网络服务器设置为捕获这些文件并提供静态文件,因此不需要检查。 – krs 2013-04-08 02:31:46