Servir des fichiers statiques avec mod_wsgi et Django
J'ai une application django à l'aide de mod_python, assez typique de configuration, sauf que les fichiers multimédias sont servis par une (je sais, pas recommandé) "médias" dans le répertoire racine du document. Je tiens à le tester et peut-être déployer avec mod_wsgi, mais je ne peux pas comprendre comment créer quelque chose de simple pour servir les fichiers statiques. mod_python permet l'utilisation de directives Apache comme:
<Location '/'>
SetHandler MyApplication.xyz.....
</Location>
<Location '/media'>
SetHandler None
</Location>
Le django docs semblent pointer vers le deuxième bloc ci-dessus que la manière correcte de faire une exception similaire pour mod_wsgi, mais dans mes tests, tout en dessous de la racine est toujours envoyé à l'application wsgi. Est-il un bon moyen de définir un statique répertoire de médias avec mod_wsgi, ou est ce que je suis en train de faire intentionnellement non pris en charge pour des raisons techniques? Réponses ce point tout à fait différentes approches sont les bienvenus.
source d'informationauteur unmounted | 2009-04-08
Vous devez vous connecter pour publier un commentaire.
La mod_wsgi documentation explique comment configurer les fichiers statiques qui apparaissent lors d'une URL en dessous de ce qui l'application WSGI est monté au. Voir:
http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#Hosting_Of_Static_Files
Noter que les "Options +ExecCGI' est pas nécessaire lors de l'utilisation de WSGIScriptAlias directive pour monter l'application WSGI. Le "ExecCGI' option est uniquement nécessaire lors de l'utilisation AddHandler pour des applications de montage en tant que ressources.
Je lance un à une dizaine de Django sites sur le même serveur, et voici comment j'ai configurer le support des URL.
Chaque VirtualHost a la configuration suivante:
Cette façon, je peux faire des changements à la gestion des médias dans un seul fichier.
Alors, mes médias.inclure le fichier ressemble à ceci:
Cela a très bien fonctionné pour moi, et obtient un Un grade de YSlow (voir aussi Jeff Atwood sur YSlow).
Noter également, pour le root dir-je utiliser la configuration suivante:
... qui devrait être après l'Alias /médias dans votre fichier de configuration (car Apache regarde les alias dans l'ordre)