Django mi sta raccomandando che se uso solo un server (Apache) per servire sia i file dinamici che quelli statici, quindi I should serve static files using django.contrib.staticfiles
.Come servire i file statici di amministrazione con django.contrib.staticfiles in Django 1.4 (usando un server Apache)?
Così nel mio settings.py
Ho caricato django.contrib.staticfiles
alla mia INSTALLED_APPS
e django.core.context_processors.static
alla mia TEMPLATE_CONTEXT_PROCESSORS
.
ho notato nei modelli di amministrazione che i collegamenti ai file statici come questo (da index.html
):
{% load i18n admin_static %}
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/dashboard.css" %}" />{% endblock %}
ma guardando il cartellino del modello admin_static
, è semplicemente un wrapper per 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)
Quindi ho concluso che poiché ogni file statico di amministrazione è serverd con un prefisso admin/...
, il percorso completo (per il mio caso) dovrebbe essere
Così ho impostato il percorso sul mio STATICFILES_DIRS
all'interno di settings.py
, ma Apache continua a non servire file statici (dopo aver ripristinato il server). Dove ho fatto un errore nella mia logica?
Conciso, profondo e completo, grazie) –