【发布时间】:2011-07-28 07:30:41
【问题描述】:
我困惑了整整 30 分钟,但我认为我的问题一定与 Django 1.3 的变化有关。
我的 urls.py 看起来像这样:
if settings.DEBUG:
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.STATIC_ROOT, 'show_indexes': True}),
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
(r'^admin_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.ADMIN_MEDIA_ROOT}),
)
如果我访问 /static/,我会得到一个文件列表。例如,在我的根目录中有一个文件“iphone.png”。转到 /static/iphone.png 我收到 404 消息。
如果我将该部分更改为:
if settings.DEBUG:
urlpatterns += patterns('',
(r'^otherstatic/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.STATIC_ROOT, 'show_indexes': True}),
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
(r'^admin_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.ADMIN_MEDIA_ROOT}),
)
与 /otherstatic/ 相关的所有内容都非常出色。
我还应该补充一点,/media/ 或 /admin_media/ 没有问题。
这与 Django 的新静态文件应用程序有关吗? (如果是这样,谁认为完全打破这个非常简单的用例是个好主意?)
谢谢!
【问题讨论】:
-
很可能是静态文件。尝试完全禁用它们。
-
它可能是静态文件,你可以禁用它或更改设置文件中的静态文件根 url,以免与你的 url 冲突
标签: django