2011-05-24 133 views
1

我知道这个问题看起来像一个百万时代,我也不是一个新手Django编码器最近我还有可怕的问题让静态文件在Django项目中工作。上次我通过使用1.3来解决这个问题,但现在我正在使用1.2.5版本,并且没有任何解决方案能够工作。Django的静态文件再次不起作用

所以基本上我只有在管理部分和网站周围没有其他地方的静态工作。 静态文件在K:/project/media,我使用的是窗口,python 2.7和django 1.2.5以及开发服务器。

设置:

MEDIA_ROOT = path.join(path.abspath(path.dirname(__file__)), 'media') 
MEDIA_URL = '/static/' 
ADMIN_MEDIA_PREFIX = '/admin_media/' 

URL配置:

urlpatterns += patterns('', 
    (r'^static/(?P<path>.*)$', 'django.views.static.serve', 
     {'document_root': 'K:/project/media/', 'show_indexes': True} 
    ), 
) 

现在,当我打开http://127.0.0.1:8000/static/而不是静态的文件列表我越来越TemplateDoesNotExist at /static/。并且模板中的导入返回类似错误而不是404:TemplateDoesNotExist at /static/css/global.css/。我在这里错过了什么?

编辑

完整URL的conf

from django.conf.urls.defaults import * 
from django.views.generic.simple import redirect_to 
from p.globals import views 
from p.newsevents.feeds import ReleaseFeed 
import filebrowser 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

feeds = { 
    'releases': ReleaseFeed, 
} 

urlpatterns = patterns('', 

    (r'(?P<reqPath>[\w\-,.]+)$', redirect_to, {'url': '%(reqPath)s/'}), 

    (r'^admin/filebrowser/', include('filebrowser.urls')), 
    #(r'^admin$', redirect_to, {'url': '/admin/'}), 
    (r'^admin/', include(admin.site.urls)), 
    (r'^tinymce/', include('tinymce.urls')), 
    #(r'^about-us/$', redirect_to, {'url': '/about-us/our-story/'}), 
    (r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}), 
    (r'^get-your-look/', include('p.getyourlook.urls')), 
    (r'^about-us/', include('p.aboutus.urls')), 
    (r'^our-services/', include('p.services.urls')), 
    (r'^news-events/', include('p.newsevents.urls')), 
    (r'^promotions/', include('p.promotions.urls')), 
    (r'^careers/', include('p.careers.urls')), 
    (r'^locations/', include('p.locations.urls')), 

    (r'^$', views.home), 
    (r'^(?P<reqPath>[\w\-,.]+)/', views.globals_views), 
) 

from django.conf import settings 

urlpatterns += patterns('', 
    (r'^static/(?P<path>.*)$', 'django.views.static.serve', 
     {'document_root': 'K:/Kuba/Webdesign/hair/media/', 'show_indexes': True} 
    ), 
) 
+1

你的apache日志说什么?通常会准确地说明搜索的路径。 – JiminyCricket 2011-05-24 02:08:57

+0

你的URLconf的其余部分是怎样的? – 2011-05-24 02:09:49

+0

我在本地使用它,没有apache服务器 – gondor 2011-05-24 05:53:20

回答

1

我猜它`因为这样:

(r'^(?P<reqPath>[\w\-,.]+)/', views.globals_views), 

它会拦截所有请求,静态的,会调用视图,这将导致TemplateDoesNotExist错误。 在此之前放置一个静态网址或更改此(以及它引用的网址)正则表达式。