【发布时间】:2013-01-08 04:14:53
【问题描述】:
我在 Django 中的 urls.py 文件有问题,它允许我在任何地方访问我的管理界面,在任何地方加载图像。如果有人可以看一下,在此先感谢!
from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.conf import settings
urlpatterns = patterns('',
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^admin/', include(admin.site.urls)),
url(r'^admin/files/(?P<filepath>.*)$', 'my.app.admin.serv_backup_files', name='admin-file-serv'),
(r'^(?P<restaurant_slug>[^(admin)][a-zA-B-_0-9]+)$', TemplateView.as_view(template_name=os.path.join(settings.G_DOC_ROOT, 'index.html'))),
(r'^(?P<path>[^(admin)].*)$', 'django.views.static.serve', {'document_root': settings.G_DOC_ROOT}),
)
问题是,在这个配置下,我在运行服务器的控制台上看到了类似的东西
“GET /img/field_bg.gif HTTP/1.1”404
对于所有应该静态提供的图像。
我可以从最后一个模式中删除 [^(admin)] 并且该站点将得到很好的服务,只是它会尝试将管理界面重新路由到静态文件。
在此先感谢您帮助我将静态文件、无子域 TemplateViewing 和管理员正常访问相结合。
【问题讨论】:
标签: python regex django django-urls