Je voudrais accéder à la variable d'environnement GEOIP_COUNTRY_CODE
à partir de Django s'exécutant sur mod_wsgi en mode démon. Le problème est que je peux voir la variable depuis les scripts PHP qui s'exécutent sur le serveur mais il semble qu'elle ne soit pas passée par WSGI sur mon site Django. request.META.get('GEOIP_COUNTRY_CODE')
ne fonctionne pas. Existe-t-il quelque chose comme WSGIPassAuthorization
pour des variables d'environnement supplémentaires dans mod_wsgi?Obtenir mod_geoip pour fonctionner avec mod_wsgi dans Apache 2.2.17
Répondre
Si la variable est définie par le module d'extension comme une variable d'environnement, alors il sera accessible:
import os
value = os.environ['GEOIP_COUNTRY_CODE']
Ie, comme toute autre variable d'environnement..
MISE À JOUR 1:
Si placé à l'intérieur d'un module Apache mais tel que mod_geoip, la seule façon qu'il serait transféré dans domaine d'application WSGI est si elle est définie dans req.subprocess_env de la structure de la demande Apache . C'est à dire, comme si la directive SetEnv avait été utilisée avec Apache. Dans ce cas, il devrait apparaître dans le dictionnaire WSGI environ transmis à l'application WSGI.
Pour essayer de valider si ce phénomène se produit, en utilisant WSGI script de test d'écho représenté dans:
http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Displaying_Request_Environment
J'ai essayé cela aussi, mais 'GEOIP_COUNTRY_CODE' n'est pas inclus dans le dict os.environ. – Fladi
Il semble qu'à partir de Django 1.3 l'environnement WSGi est fusionné dans request.META, alors maintenant je peux facilement appeler request.META.get ('GEOIP_COUNTRY_CODE') pour obtenir la valeur que je veux. – Fladi
Je doute que la fusion ne soit que de Django 1.3. Vous avez toujours pu accéder au dictionnaire WSGI environ via l'objet de requête Django et je doute beaucoup qu'ils aient changé comment cela se fait car cela aurait brisé tant de choses qui utilisent ce qui aurait été la façon de faire existante . –
- 1. Apache avec mod_wsgi segfaults
- 2. Apache avec mod_wsgi avec Django pour développer
- 3. Obtenir django pour travailler avec apache/mod_wsgi ... des idées?
- 4. mod_geoip + Apache 2.2 en mode fcgid
- 5. rejouer dans django + apache + mod_wsgi?
- 6. Django/Apache geler avec mod_wsgi
- 7. Comment activer mod_Gzip sur Apache 2.2.17?
- 8. Impossible de faire fonctionner Pyramid avec mod_wsgi
- 9. Apache + interaction mod_wsgi
- 10. En production, Apache + mod_wsgi ou Nginx + mod_wsgi?
- 11. Problèmes de démarrage mod_geoip
- 12. Cherrypy vs. Apache/mod_wsgi
- 13. Authentification avec Python, Apache et mod_wsgi
- 14. problème de session avec django + apache + mod_wsgi
- 15. Apache + mod_wsgi vs nginx + gunicorn
- 16. autorisation Django + Apache + mod_wsgi refusée
- 17. Erreur dans django en utilisant Apache & mod_wsgi
- 18. Problème lors de l'installation de PHP 5.3.5 avec Apache 2.2.17 (crash apache)
- 19. Impossible de faire fonctionner mod_wsgi avec Apache et Django sous Mac OS X
- 20. Autorisation d'utilisateurs anonymes dans Trac (apache/mod_wsgi)
- 21. Apache Django Mod_Wsgi - recharge automatique
- 22. cx_Oracle 5.1.1 sous apache + mod_wsgi
- 23. incapable de charger mod_wsgi dans apache
- 24. Apache mod_wsgi et python 2.7
- 25. mod_wsgi + apache non multithread, pourquoi?
- 26. Django avec Apache et mod_wsgi obtenant un 403 (Interdit)
- 27. Coincé avec le déploiement django avec apache + mod_wsgi
- 28. soaplib avec mod_wsgi/cherrypy
- 29. .htaccess sans mod_geoip Géolocalisation
- 30. Comment configurer apache pour exécuter Django (mod_WSGI) et Rails (Passenger)
Où êtes-vous définissez GEOIP_COUNTRY_CODE en premier lieu? On ne peut pas répondre à la question sans savoir où et comment elle est définie. –
AFAICT est défini par mod_geoip dans Apache2. – Fladi