python django 媒体根目录

1 投票
2 回答
641 浏览
提问于 2025-04-16 14:17

如果我使用下面的代码,它会在项目文件夹中找到我的 base.css 文件:

<link rel="stylesheet" type="text/css" href="{% block stylesheet %}/media/a/admin/css/base.css{% endblock %}" />

MEDIA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'media')
MEDIA_URL = '/media/a/'
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),

但是,如果我使用下面的代码,它会去 \Python25\Lib\site-packages\django\contrib\admin\media\css 这个地方找 base.css:

<link rel="stylesheet" type="text/css" href="{% block stylesheet %}/a/admin/css/base.css{% endblock %}" />

MEDIA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'media')
MEDIA_URL = '/a/'
(r'^a/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),

有没有人知道为什么会这样呢?

谢谢~~

2 个回答

1

我猜你设置了 ADMIN_MEDIA_PREFIX = '/a/admin/'

http://docs.djangoproject.com/en/dev/ref/settings/#admin-media-prefix

确保最后有一个斜杠,并且这个设置要和 MEDIA_URL 不一样(因为同一个网址不能指向两组不同的文件)。

0

我的错误:

我没有设置 "runserver --adminmedia" 这个命令。

撰写回答