61 votes

Quelle est la différence entre les fichiers statiques et les fichiers multimédias dans Django?

Je passe à Django 1.3 et trouve cette séparation un peu déroutante dans cette séparation. Voici comment settings.py par défaut ressemble à:

 # Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = ''

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = ''

# Absolute path to the directory that holds static files.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = ''

# URL that handles the static files served from STATIC_ROOT.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
 

Que devrais-je mettre en MEDIA_ROOT et a STATIC_ROOT ? Ces répertoires devraient-ils être séparés? Quelle est la différence?

59voto

Uku Loskit Points 15705

Les fichiers statiques sont destinés à js / images, etc., mais les fichiers multimédias sont destinés au contenu téléchargé par l'utilisateur.

32voto

Brian Neal Points 13668

Comme Uku Loskit dit, les fichiers statiques sont pour des choses comme vos applications fichiers css, fichiers javascript, images, etc. Les fichiers multimédias sont généralement utilisateur ou admin téléchargement de fichiers.

Normalement, vous souhaitez MEDIA_ROOT et STATIC_ROOT à des répertoires distincts. Gardez à l'esprit que STATIC_ROOT est où la gestion de la commande collectstatic placera tous les fichiers statiques qu'il trouve. En production, vous pouvez ensuite configurer votre serveur pour servir les fichiers de l' STATIC_ROOT lorsqu'en raison d'une demande qui commence par STATIC_URL. Si vous utilisez le Django devserver pour le développement, il sera automatiquement servir des fichiers statiques.

Le staticfiles demande donc démêle utilisateur de télécharger des médias, de la demande des médias, et donc de faire de déploiement, les sauvegardes et le contrôle de version plus facile. Avant la staticfiles app, il était commun pour les développeurs d'avoir les fichiers de médias mélangés avec application statique actifs.

Le 1.3 docs pour staticfiles ont été en constante évolution; pour plus de détails, regardez le comment.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X