Подтвердить что ты не робот

Соответствующий способ обработки устаревших tempadatetag adminandia и {% admin_media_prefix%}

Начиная с 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">

?

4b9b3361

Ответ 1

С Django 1.3 вы можете использовать приложение django.contrib.staticfiles.

Убедитесь, что django.contrib.staticfiles включен в ваш INSTALLED_APPS, а параметры STATIC_ROOT и STATIC_URL указаны в параметрах settings.py.

Затем запустите команду 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">

Ответ 2

Я просто скопировал, что в 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, как было предложено ранее Антоном)