我知道这个问题出现了百万次,而且我还不是新手 django 编码器,最近我在 django 项目中获取静态文件时遇到了可怕的问题。上次我使用 1.3 解决了这个问题,但现在我正在使用 1.2.5 版本并且没有任何解决方案有效。
所以基本上我只在管理部分有静态工作,站点周围没有其他地方。静态文件在K:/project/media
,我使用的是window、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/'
网址配置:
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 配置
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}
),
)