déploiement apache django avec mod python

Le
hervest
Bonsoir,
je viens de déployer mon application en production avec apache sur windows. je n'arrive pas à faire marcher les fichiers média pour l'administration. voici ce que j'ai fait dans le httpconf

<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE amstrong.settings
PythonOption django.root /amstrong
PythonDebug On
PythonPath "['C:/amstrong'] + sys.path"

</Location>

Alias /media C:/amstrong/amstrong/media
<Directory C:/amstrong/amstrong/media>
AllowOverride None
Order deny,allow
Allow from All
SetHandler None
</Directory>

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #18583641
hervest a écrit :
Bonsoir,
je viens de déployer mon application en production avec apache sur windows. je
n'arrive pas à faire marcher les fichiers média pour l'administration. voici ce
que j'ai fait dans le httpconf



apache, windows, django...

mettez vous un petit linux dans un coin qui fera ca bien mieux et plus
facilement, non ?

Sinon pour la config...

definissez ADMIN_MEDIA_ROOT dans le settings.py

puis soit dans urls.py vous ajoutez

urlpatterns += patterns('',
(r'^admin/media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.ADMIN_MEDIA_ROOT}),
)

soit vous configurez un autre alias dans apache vers le dossier
django/contrib/admin/images...

Sinon le debug c'est déconseillé en prod car cela donne beaucoup trop
d'informations 'sensibles'


Julien.
Michel Claveau - NoSpam SVP ; merci
Le #18584211
Bonsoir !

mettez vous un petit linux dans un coin qui fera ca bien mieux et plus
facilement, non ?



ça sent le troll...
Le Monsieur, il a Windows, et ce n'est pas ça qui pose problème (c'est
la config Apache). Alors, pourquoi chercher une petite bête HS ?

@-salutations
--
Michel Claveau
hervest
Le #18584111
JB a écrit le 04/02/2009 à 19h22 :
hervest a écrit :
Bonsoir,
je viens de déployer mon application en production avec apache sur
windows. je
n'arrive pas à faire marcher les fichiers média pour
l'administration. voici ce
que j'ai fait dans le httpconf




apache, windows, django...

mettez vous un petit linux dans un coin qui fera ca bien mieux et plus
facilement, non ?

Sinon pour la config...

definissez ADMIN_MEDIA_ROOT dans le settings.py

puis soit dans urls.py vous ajoutez

urlpatterns += patterns('',
(r'^admin/media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.ADMIN_MEDIA_ROOT}),
)

soit vous configurez un autre alias dans apache vers le dossier
django/contrib/admin/images...

Sinon le debug c'est déconseillé en prod car cela donne beaucoup
trop
d'informations 'sensibles'


Julien.


au fait windows parce que je dois le déployer chez une personne qui m'a exigé cela sinon je travaille avec freeBSD.
bien reçu pour le debug


voici ce que j'ai fait:

settings.py

PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))

ADMIN_MEDIA_ROOT = '%s/admin/media/' % PROJECT_PATH
ADMIN_MEDIA_URL = '%s/admin/media/' % '192.168.2.15'

dans urls.py

urlpatterns += patterns('',(r'^admin/media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.ADMIN_MEDIA_ROOT}),
)


et dans le httpd.conf
Alias /admin/media C:/Python25/Lib/site-packages/django/contrib/admin/media
<Directory C:/Python25/Lib/site-packages/django/contrib/admin/media>
AllowOverride None
Order deny,allow
Allow from All
SetHandler None
</Directory>

ça marche toujours pas
Bruno Desthuilliers
Le #18591871
hervest a écrit :
JB a écrit le 04/02/2009 à 19h22 :
hervest a écrit :
Bonsoir,
je viens de déployer mon application en production avec apache sur
windows. je
n'arrive pas à faire marcher les fichiers média pour
l'administration. voici ce
que j'ai fait dans le httpconf



apache, windows, django...

mettez vous un petit linux dans un coin qui fera ca bien mieux et plus
facilement, non ?

Sinon pour la config...

definissez ADMIN_MEDIA_ROOT dans le settings.py

puis soit dans urls.py vous ajoutez

urlpatterns += patterns('',
(r'^admin/media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.ADMIN_MEDIA_ROOT}),
)

soit vous configurez un autre alias dans apache vers le dossier
django/contrib/admin/images...

Sinon le debug c'est déconseillé en prod car cela donne beaucoup
trop
d'informations 'sensibles'


Julien.


au fait windows parce que je dois le déployer chez une personne qui m'a exigé
cela sinon je travaille avec freeBSD.
bien reçu pour le debug


voici ce que j'ai fait:

settings.py

PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))

ADMIN_MEDIA_ROOT = '%s/admin/media/' % PROJECT_PATH
ADMIN_MEDIA_URL = '%s/admin/media/' % '192.168.2.15'



Juste pour info, quelles sont les valeurs de MEDIA_ROOT, MEDIA_URL et
ADMIN_MEDIA_PREFIX ?

dans urls.py

urlpatterns += patterns('',(r'^admin/media/(?P<path>.*)$',
'django.views.static.serve',{'document_root': settings.ADMIN_MEDIA_ROOT}),
)



Si tu sers les resources statiques depuis apache, tu ne veux pas les
servir depuis django. Cette ligne dans ton urls.py devrait être
conditionnelle (hint : utilise un flag défini dans tes settings pour
préciser si tu tournes avec le serveur de dev ou derrière un vrai serveur).


et dans le httpd.conf
Alias /admin/media C:/Python25/Lib/site-packages/django/contrib/admin/media
<Directory C:/Python25/Lib/site-packages/django/contrib/admin/media>
AllowOverride None
Order deny,allow
Allow from All
SetHandler None
</Directory>

ça marche toujours pas



A-tu lu ceci ?
http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#id3
JB
Le #18597621
Michel Claveau - NoSpam SVP ; merci a écrit :
Bonsoir !

mettez vous un petit linux dans un coin qui fera ca bien mieux et plus
facilement, non ?



ça sent le troll...
Le Monsieur, il a Windows, et ce n'est pas ça qui pose problème (c'est
la config Apache). Alors, pourquoi chercher une petite bête HS ?



Non je cherche pas la petite bete, ma machine de developement est
d'ailleurs sous windows (vista).

Par contre pour la prod, c'est sous linux. C'est bien connu, et meme
officiellement, qu'Apache et Windows ne sont pas copains !
JB
Le #18597601
Bruno Desthuilliers a écrit :
dans urls.py

urlpatterns += patterns('',(r'^admin/media/(?P<path>.*)$',
'django.views.static.serve',{'document_root':
settings.ADMIN_MEDIA_ROOT}),
)



Si tu sers les resources statiques depuis apache, tu ne veux pas les
servir depuis django. Cette ligne dans ton urls.py devrait être
conditionnelle (hint : utilise un flag défini dans tes settings pour
préciser si tu tournes avec le serveur de dev ou derrière un vrai serveur).



Si Apache sert /admin/media, alors la ligne certes ne sert à rien, mais
n'interfère pas avec Apache. Ca peut rester pour gérer les deux cas si
besoin. non ?

Dommage de se prendre la tete a installer Apache+Django sur du windows
alors qu'une box linux ca coute 200e et ca marche mieux...
hervest
Le #18599771
Bruno Desthuilliers a écrit le 05/02/2009 à 18h06 :
hervest a écrit :
JB a écrit le 04/02/2009 à 19h22 :
hervest a écrit :
Bonsoir,
je viens de déployer mon application en production avec apache sur
windows. je
n'arrive pas à faire marcher les fichiers média pour
l'administration. voici ce
que j'ai fait dans le httpconf




apache, windows, django...

mettez vous un petit linux dans un coin qui fera ca bien mieux et plus
facilement, non ?

Sinon pour la config...

definissez ADMIN_MEDIA_ROOT dans le settings.py

puis soit dans urls.py vous ajoutez

urlpatterns += patterns('',
(r'^admin/media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.ADMIN_MEDIA_ROOT}),
)

soit vous configurez un autre alias dans apache vers le dossier
django/contrib/admin/images...

Sinon le debug c'est déconseillé en prod car cela donne
beaucoup
trop
d'informations 'sensibles'


Julien.



au fait windows parce que je dois le déployer chez une personne qui m'a
exigé
cela sinon je travaille avec freeBSD.
bien reçu pour le debug


voici ce que j'ai fait:

settings.py

PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))

ADMIN_MEDIA_ROOT = '%s/admin/media/' % PROJECT_PATH
ADMIN_MEDIA_URL = '%s/admin/media/' % '192.168.2.15'




Juste pour info, quelles sont les valeurs de MEDIA_ROOT, MEDIA_URL et
ADMIN_MEDIA_PREFIX ?

dans urls.py

urlpatterns += patterns('',(r'^admin/media/(?P<path>.*)$',
'django.views.static.serve',{'document_root': settings.ADMIN_MEDIA_ROOT}),
)




Si tu sers les resources statiques depuis apache, tu ne veux pas les
servir depuis django. Cette ligne dans ton urls.py devrait être
conditionnelle (hint : utilise un flag défini dans tes settings pour
préciser si tu tournes avec le serveur de dev ou derrière un vrai
serveur).


et dans le httpd.conf
Alias /admin/media C:/Python25/Lib/site-packages/django/contrib/admin/media
<Directory C:/Python25/Lib/site-packages/django/contrib/admin/media>
AllowOverride None
Order deny,allow
Allow from All
SetHandler None
</Directory>

ça marche toujours pas




A-tu lu ceci ?
http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#id3


j'ai lu http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#id3, j'ai copié le dossier media de admin dans le dossier media de mon application que j'ai renommé admin et j'ai juste changé dans le settings.py ADMIN_MEDIA_PREFIX = '/media/admin/' en ne changeant rien a ma configuration.
Merci
Bruno Desthuilliers
Le #18600311
hervest a écrit :
(snip)
j'ai lu http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#id3,
j'ai copié le dossier media de admin dans le dossier media de mon application
que j'ai renommé admin et j'ai juste changé dans le settings.py
ADMIN_MEDIA_PREFIX = '/media/admin/' en ne changeant rien a ma configuration.
Merci



Dois-je déduire du "merci" que le pb est résolu ?
Publicité
Poster une réponse
Anonyme