#31 Les URL /altitudes/lat/lon/ ne prennent pas en compte FORCE_SCRIPT_NAME

Open
opened 8 years ago by MathieuMD · 2 comments

Quand l'appli Django n'est pas déployée à la racine d'un vhost (ie. example.com/celutz au lieu de example.com/) alors on ajoute à local_settings.py la variable FORCE_SCRIPT_NAME = "/celutz" (source) (en plus de setter STATIC_URL et MEDIA_URL), mais les URLs /altitude/lat/lon/ ne le prennent pas en compte.

Une solution simple consiste à rendre ces URLs relatives, dans panorama/templates/panorama/main.html, ligne 127 :

-$.get("/altitude/" + lat + "/" + lng + "/").done(
+$.get("altitude/" + lat + "/" + lng + "/").done(
Quand l'appli Django n'est pas déployée à la racine d'un vhost (ie. `example.com/celutz` au lieu de `example.com/`) alors on ajoute à `local_settings.py` la variable `FORCE_SCRIPT_NAME = "/celutz"` ([source](https://docs.djangoproject.com/en/1.11/ref/settings/#force-script-name)) (en plus de setter `STATIC_URL` et `MEDIA_URL`), mais les URLs `/altitude/lat/lon/` ne le prennent pas en compte. Une solution simple consiste à rendre ces URLs relatives, dans `panorama/templates/panorama/main.html`, ligne 127 : ```diff -$.get("/altitude/" + lat + "/" + lng + "/").done( +$.get("altitude/" + lat + "/" + lng + "/").done( ```
MathieuMD commented 8 years ago
Poster

Mince, c'est aussi le cas pour les requêtes vers /api/. Qui elles sont faites depuis des URLs du type /celutz/pano/view/5, donc « relativiser » les URLs ne suffira pas cette fois...

Bon bah du coup, pour ce qui me concerne, je vais essayer de négocier un vhost dédié avec mon hébergeur, tant pis. ;-)

Mince, c'est aussi le cas pour les requêtes vers `/api/`. Qui elles sont faites depuis des URLs du type `/celutz/pano/view/5`, donc « relativiser » les URLs ne suffira pas cette fois... Bon bah du coup, pour ce qui me concerne, je vais essayer de négocier un vhost dédié avec mon hébergeur, tant pis. ;-)
zorun commented 8 years ago
Owner

Je ne connaissais pas FORCE_SCRIPT_NAME. On pourrait imaginer définir une variable javascript genre "prefix" qui soit par défaut à "/", mais qui prenne la valeur de FORCE_SCRIPT_NAME si définie. Ensuite tous les appels asynchrones peuvent utiliser cette variable.

Si tu veux t'essayer à contribuer, n'hésite pas, je ne pense pas que ce soit très compliqué à implémenter :)

Je ne connaissais pas `FORCE_SCRIPT_NAME`. On pourrait imaginer définir une variable javascript genre "prefix" qui soit par défaut à "/", mais qui prenne la valeur de `FORCE_SCRIPT_NAME` si définie. Ensuite tous les appels asynchrones peuvent utiliser cette variable. Si tu veux t'essayer à contribuer, n'hésite pas, je ne pense pas que ce soit très compliqué à implémenter :)
Sign in to join this conversation.
No Label
bug
ui
No Milestone
No assignee
2 Participants
Loading...
Cancel
Save
There is no content yet.