Question

J'ai une application Django qui existe avec des fonctionnalités complètes dans un environnement de développement et de production.Ceci est géré en changeant simplement ALLOWED_HOSTS de manière appropriée (en supposant que vous ne vouliez pas DEBUG) et configurer Apache pour qu'il dessert correctement chaque emplacement.Mon problème est que je veux utiliser le Django redirige l'application pour gérer mes redirections à l'avenir (une partie de ce projet est une transition loin de PHP) car cela signifie que je n'ai plus besoin de gérer ces redirections dans Apache.Les redirections sont un casse-tête plus important et Apache provoque des problèmes avec ses boucles de redirection index.php.Cela me permettra également de transférer davantage de contrôle sur les sites Web sous Django, ce qui est un objectif de facilité de gestion.Le problème que je rencontre est que l'application de redirection utilise le ID DU SITE pour déterminer une cible/redirection valide.Le serveur de production a un nom d'hôte différent de celui de développement, je ne peux donc pas tester ou vérifier l'application de redirection.Cela nuit évidemment à l'objectif du serveur de développement isolé, presque identique, qui est de tester toutes les fonctionnalités avant de le mettre en ligne.Je comprends du cadre de sites que les sites individuels ont besoin de fichiers settings.py et de démons individuels pour coexister, mais cela encore une fois n'est pas utile à mon scénario puisque le site de développement est géographiquement séparé de la production.Ce n'est pas clair pour moi d'après la documentation :

1) Comment ajouter un site, autre que l'ajout/la modification SITE_ID - où choisir le nom associé ?

2) En supposant 1, est-ce la meilleure façon (et est-elle adéquate) puisque j'ai déjà un fichier settings.py différent ?

3) Comment me suis-je retrouvé avec deux entrées de sites pour le même foo.com et comment cela affecte-t-il mes redirections ?Je n'ai qu'un seul wsgi et settings.py (sur chaque serveur) mais

+----+-------------+-------------+
| id | domain      | name        |
+----+-------------+-------------+
|  1 | example.com | example.com |
|  2 | foo.net     | foo.net     |
|  3 | foo.net     | foo         |
+----+-------------+-------------+

dans ma base de données ?Je ne vois pas où ces sites sont ajoutés ou configurés, ce qui me laisse perplexe quant à la façon d'ajuster le cadre de mes sites pour s'adapter à l'application de redirection.Depuis que je suis sur Django 1.5.4, le framework des sites était activé par défaut donc je n'y avais jamais pensé auparavant.

Était-ce utile?

La solution

Le nom du site associé n'a pas d'importance puisque les redirections utilisent simplement l'identifiant, j'ai donc supprimé tous les sites en double, ne laissant que l'identifiant 1 pour le nom de domaine réel, défini SITE_ID = 1 en configuration de production et de test.Je ne sais pas d'où viennent les autres sites puisque je n'ai utilisé que SITE_ID pour configurer des redirections, mais cela fonctionne maintenant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top