从django 1.5开始,https://docs.djangoproject.com/en/1.5/releases/1.5/#miscellaneous
模板标签库adminmedia,它只包含 已弃用的模板标记{%admin_media_prefix%}已被删除。 尝试使用{%load adminmedia%}加载它将失败。如果你的 模板仍然包含您必须删除它的那一行。
那么在遗留库和我仍然使用{% load adminmedia %}
并加载css的遗留项目中找到替换代码的适当方法是什么: -
<link rel="stylesheet" type="text/css" href="{% load adminmedia %}{% admin_media_prefix %}css/login.css">
答案 0 :(得分:22)
自Django 1.3起,您可以使用django.contrib.staticfiles app。
确保您的INSTALLED_APPS中包含django.contrib.staticfiles,并在settings.py中指定了STATIC_ROOT和STATIC_URL选项。
然后运行manage.py collectstatic
命令,所有应用程序的静态文件将收集在STATIC_ROOT文件夹中。
在模板中,您可以使用{{ STATIC_URL }}
上下文变量(确保django.core.context_processors.static包含在TEMPLATE_CONTEXT_PROCESSORS中)或{% static %}
模板标记。
<link href="{{ STATIC_URL }}admin/css/login.css" rel="stylesheet">
或
{% load staticfiles %}
<link href="{% static 'admin/css/login.css' %}" rel="stylesheet">
答案 1 :(得分:4)
我刚刚复制了base.css
中的内容:
{% load admin_static %}
然后
<link href="{% static 'admin/css/base.css' %}" rel="stylesheet">
(将base.css
替换为您需要的任何内容,例如您的login.css
确保django.contrib.staticfiles
中有INSTALLED_APPS
。
(我不需要按照安东先前的建议配置STATIC_ROOT
并运行manage.py collectstatic