Pero... ¿qué pasa si uno quiere usar diferentes páginas de error 404 y 500 para distintas aplicaciones dentro de un mismo proyecto?
Después de estar tratando de crear mi propio handler 404, y darme cuenta que no podía usar uno distinto por aplicación (Los handler 404 y 500 siguen siendo los mismos para el proyecto), me di cuenta que podía usar dos settings.py y usar las directivas de configuración de apache para usar uno u otro, dependiendo de la URL a la que se acceda.
Entonces, en el httpd.conf (o en alguna extensión que se coloque en el dir httpd/conf.d/):
SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['/home/userx/djangoapps'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE proyect.settings
PythonDebug On
SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['/home/userx/djangoapps'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE proyect.settings_app2
PythonDebug On
Luego tengo dos settings, en el nuevo (app2) dejo mi aplicación antes que las demás para que ubique las templates 404 y 500 desde ahí.
INSTALLED_APPS = (
...
'proyect.app2',
'proyect.app1',
...,
)
y pongo debug=False y chan, chan! tengo un sólo proyecto con dos aplicaciones que direccionan a distintas páginas de error 404 y 500.
Muy chanchullesco? Bueno... por lo menos resulta.
No hay comentarios:
Publicar un comentario