Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

déploiement apache django avec mod python

8 réponses
Avatar
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

8 réponses

Avatar
JB
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.
Avatar
Michel Claveau - NoSpam SVP ; merci
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
Avatar
hervest
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
Avatar
Bruno Desthuilliers
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
Avatar
JB
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 !
Avatar
JB
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...
Avatar
hervest
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
Avatar
Bruno Desthuilliers
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 ?