Python django admin static在错误的url中提供服务
我有一个奇怪的问题-我的开发服务器试图通过使用错误的url为管理员静态服务 使用django 1.6 我的主要工作Python django admin static在错误的url中提供服务,python,django,django-templates,django-admin,django-staticfiles,Python,Django,Django Templates,Django Admin,Django Staticfiles,我有一个奇怪的问题-我的开发服务器试图通过使用错误的url为管理员静态服务 使用django 1.6 我的主要工作 from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^$', include('dash.urls')), ) urlpatterns += stati
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")
应用程序
奇怪的是,我的自定义应用程序通常通过URL提供静态服务,比如
localhost:8000/static/css/blah
但是管理员使用
[24/Nov/2013 18:47:41]“GET/admin/static/admin/css/base.css HTTP/1.1”4044316
伙计们,说真的,前缀/admin/static的起源是什么?0_o
我正在使用不推荐的东西,比如ADMIN\u MEDIA\u前缀
基本管理模板使用
{%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)
哪一条线可以
我很困惑,帮帮我)您的
静态URL
不是以斜杠开头的,因此它被视为相对URL。因此,您将得到:
(管理员所在的位置)/admin/
(您的static/
),以及静态URL
(文件所在位置)admin/css/base.css
/admin/static/admin/css/base.css
的原因
你应该在你的
静态URL
上加一个斜杠,让它请求/STATIC/admin/css/base.css
哦,太明显了。Thanx,这很有帮助)
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)