web-dev-qa-db-fra.com

Puis-je rendre STATICFILES_DIR identique à STATIC_ROOT dans Django 1.3?

J'utilise Django 1.3 et je me rends compte qu'il a une commande collectstatic pour collecter des fichiers statiques dans STATIC_ROOT. Ici, j'ai quelques autres global les fichiers qui doivent être servis en utilisant STATICFILES_DIR.

Puis-je leur faire utiliser le même répertoire?

Merci.

38
MrROY

Non. En fait, le fichier Django/contrib/staticfiles/finders.py Vérifie même cela et déclenche une exception ImproperlyConfigured lorsque vous le faites:

"Le paramètre STATICFILES_DIRS ne doit pas contenir le paramètre STATIC_ROOT"

Le STATICFILES_DIRS Peut contenir d'autres répertoires (pas nécessairement des répertoires d'application) avec des fichiers statiques et ces fichiers statiques seront collectés dans votre STATIC_ROOT Lorsque vous exécutez collectstatic. Ces fichiers statiques seront ensuite servis par votre serveur Web et ils seront servis à partir de votre STATIC_ROOT.

Si vous avez actuellement des fichiers dans votre STATIC_ROOT Que vous souhaitez servir, vous devez les déplacer vers un répertoire différent et placer cet autre répertoire dans STATICFILES_DIRS. Votre répertoire STATIC_ROOT Doit être vide et tous les fichiers statiques doivent être collectés dans ce répertoire (c'est-à-dire qu'il ne doit pas déjà contenir de fichiers statiques).

80
Simeon Visser