Djangoは、動的ファイルと静的ファイルの両方を提供するために1つのサーバー(Apache)のみを使用する場合は、I should serve static files using django.contrib.staticfiles
とお勧めします。adminの静的ファイルをDjango 1.4のdjango.contrib.staticfilesで(1つのApacheサーバを使用して)提供するには?
は、だから私のsettings.py
に私は私のTEMPLATE_CONTEXT_PROCESSORS
に私のINSTALLED_APPS
とdjango.core.context_processors.static
にdjango.contrib.staticfiles
をロードしました。
私はそれが(index.html
から)このような静的なファイルへのリンクの管理テンプレートに気づい:
{% load i18n admin_static %}
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/dashboard.css" %}" />{% endblock %}
しかし、テンプレートタグadmin_static
を見て、それは単にstatic
のラッパーです:
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)
私はすべての管理者の静的ファイルがadmin/...
のプレフィックスを持つserverdであるため、完全なパス(私の場合)は
/usr/lib64/python2.7/site-packages/django/contrib/admin/static
settings.py
の中にSTATICFILES_DIRS
というパスを設定しましたが、(サーバーを再起動しても)Apacheは静的ファイルを提供しません。私はどこで私の論理を間違えましたか?
簡潔で、深く包括的な、ありがとう) –