Django问题链接到静态文件

时间:2013-07-13 23:24:57

标签: django static filepath

我遇到了很多问题,我认为这是一个非常简单的问题,但我无法理解。现在我的目录结构如下所示:

.
├── 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

我只定义了根网址,但这是文件:

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模式,但我的理解是静态文件处理程序应该处理它。任何帮助将非常感激。我意识到有很多类似的问题,但我找不到我认为与问题匹配的东西。

3 个答案:

答案 0 :(得分:0)

尝试使用类似的东西

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

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



STATICFILES_DIRS = (
    STATIC_ROOT,
)

答案 1 :(得分: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目录并直接输入          它应该工作!!!

答案 2 :(得分:0)

这个怎么样

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