【发布时间】:2013-12-09 09:18:35
【问题描述】:
我有一个奇怪的问题 - 我的开发服务器试图通过使用错误的 url 来提供静态管理。
使用 django 1.6
我的主要 urlconf
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', include('dash.urls')),
)
urlpatterns += staticfiles_urlpatterns()
和设置是一样的
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
locale = lambda path: os.path.join(BASE_DIR, path)
STATIC_URL = "static/"
MEDIA_URL = "media/"
STATIC_ROOT = locale("static")
MEDIA_ROOT = locale("media")
应用程序
INSTALLED_APPS = (
'django.contrib.staticfiles',
'django.contrib.admin',
)
奇怪的是,我的自定义应用程序通常通过 URL 提供静态服务,例如 localhost:8000/static/css/blah
但管理员使用
[24/Nov/2013 18:47:41]“GET /admin/static/admin/css/base.css HTTP/1.1”404 4316
各位,认真的,前缀 /admin/static 的由来是什么? 0_o 我正在使用 ADMIN_MEDIA_PREFIX 等已弃用的东西。
基本管理模板使用 {% static "admin/css/base.css" %} 标签,是哪个代码
from django.conf import settings
from django.template import Library
register = Library()
if 'django.contrib.staticfiles' in settings.INSTALLED_APPS:
from django.contrib.staticfiles.templatetags.staticfiles import static
else:
from django.templatetags.static import static
static = register.simple_tag(static)
哪个接缝好;
我很困惑,帮帮我)
【问题讨论】:
标签: python django django-templates django-admin django-staticfiles