2011-04-17 6 views
2

Bonjour, j'essaie de déployer une application django qui utilise la balise {{ STATIC_URL }}.Problème de fichier statique Django sur le déploiement

Quand je mets mon code sur EC2 (en mode débogage) Je reçois l'erreur suivante:

Module "django.core.context_processors" does not define a "static" callable 
     request processor 

Cela ne se produit pas sur ./manage.py runserver Cela a également disparait lorsque je retire la django.core.context_processors.static de mon modèle processeurs de contexte (mais je ne reçois pas de médias statiques)

Quelqu'un sait ce qui se passe?

Répondre

3

Le static context_processor et l'application staticfiles ont été ajoutés dans la version 1.3. Il semble que vous exécutiez une ancienne version en production.

+0

Est-ce que cela signifie que je ne peux pas utiliser STATIC_URL dans settings.py? – Jibin

0

J'espère que vous avez trouvé une solution. Mais puisque personne n'a décidé d'en mettre une ici, si quelqu'un d'autre, comme moi, tombe sur cette erreur, voici ma solution. Si vous lisez attentivement l'erreur en supposant que vous avez DEBUG = True, vous réaliserez que la définition statique (fonction pythonic) est absente de context_processors.py dans le module django.core. Allez donc là dans votre répertoire. sur mon serveur c'était /usr/lib/python2.6/dist-packages/django/core. Modifiez context_processors.py et ajoutez la fonction suivante

def static(request): 
    # this func will static-related context variables to the context 
    return {'STATIC_URL': settings.STATIC_URL} 
Questions connexes