Django 1.5以降、 https://docs.djangoproject.com/en/1.5/releases/1.5/#miscellaneous
非推奨のテンプレートタグ{%admin_media_prefix%}のみを含むテンプレートタグライブラリadminmediaが削除されました。 {%load adminmedia%}でロードしようとすると失敗します。テンプレートにまだその行が含まれている場合は、それを削除する必要があります。
それで、コードを置き換えるレガシーライブラリと、まだ{% load adminmedia %}
を使用し、次のようなcssをロードする私のレガシープロジェクトにある適切な方法は何ですか?-
<link rel="stylesheet" type="text/css" href="{% load adminmedia %}{% admin_media_prefix %}css/login.css">
?
Django 1.3なので、 Django.contrib.staticfiles appを使用できます。
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">
base.css
の内容をコピーしました:
{% load admin_static %}
その後
<link href="{% static 'admin/css/base.css' %}" rel="stylesheet">
(base.css
を必要なものに置き換えます(あなたの場合はlogin.css
など))
Django.contrib.staticfiles
にINSTALLED_APPS
が含まれていることを確認してください。
(Antonが以前に提案したように、STATIC_ROOT
を構成してmanage.py collectstatic
を実行する必要はありませんでした)