2013-07-13 85 views
2

我有很多麻烦,我认为是一个非常简单的问题,但我只是无法弄清楚。现在我的目录结构是这样的:Django问题链接到静态文件

. 
├── css 
│   └── registration.css 
├── images 
│   └── icon.png 
├── __init__.py 
├── manage.py 
├── registration 
│   ├── __init__.py 
│   ├── templates 
│   │   └── loading_page.html 
│   ├── views.py 
├── settings.py 
├── static 
│   ├── css 
│   │   └── registration.css 
│   └── images 
│    └── icon.png 
├── test.txt 
└── urls.py 

我只有一个根URL定义,但是这是文件:

from django.conf.urls.defaults import patterns, include, url 
import registration 

urlpatterns = patterns(
    '', 
    url(r'^$', 'registration.views.registration', name="registration") 
) 

我的设置和模板的相关线路如下:

<link rel="stylesheet" type="style/css" href= "{{ STATIC_URL }}css/registration.css"> 

STATIC_ROOT = os.getcwd() 
STATIC_URL = '/static/' 

STATICFILES_DIRS = (
    os.getcwd(), 
) 

基本上,当我尝试链接到静态文件,如上所示,我得到404的。我想我可以为静态文件制作url模式,但我的理解是静态文件处理程序应该处理这个问题。任何帮助将非常感激。我意识到有很多类似的问题,但我找不到我认为与问题匹配的问题。

回答

0

尝试使用类似的模板这个

import os 
PROYECT = os.path.dirname(os.path.abspath(__file__)) 

STATIC_ROOT = os.path.join(PROYECT, 'static') 



STATICFILES_DIRS = (
    STATIC_ROOT, 
) 
+0

感谢您的尝试,但问题仍然存在不变。 –

+0

尝试将'static'文件夹放在'registration'文件夹内(与'templates'文件夹相同的级别),看看会发生什么:D –

+0

如果问题仍然存在,请参阅我的更新回答:D –

0
In your settings.py try it like this: 
import os.path 
CURRENT_PATH=os.path.abspath(os.path.dirname(__file__).decode('utf-8')).replace('\\','/') 
STATIC_URL ='/static/' 
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder', 
'django.contrib.staticfiles.finders.AppDirectoriesFinder',) 
STATICFILES_DIRS = (

os.path.join(os.path.dirname(__file__),'static').replace('\\','/'), 

) : 取出CSS目录,然后键入直接 它应该工作 !

+0

我在你的INSTALLED_APPS =('django.contrib.staticfiles')忘了这个,确保你添加了它 – drabo2005

0

这个怎么样

STATICFILES_DIRS = (
    os.path.abspath('./static/') 
)