J'utilise Django pour créer un site qui fournit une interface Web distincte pour les producteurs et consommateurs. Les deux interfaces utilisateur (ou "sous-sites") ont différentes dispositions, menus et graphiques. Cependant, ils accèdent à la même base de données et aux mêmes modèles, mais seulement sous différents aspects (producteur et consommateur ...). Tous sont hébergés sous un même domaine, la différenciation de l'interface utilisateur se fait avec des URL.Sous-sites de CMS avec Django
Le problème vient quand je veux intégrer un CMS à ce système, pour prendre soin des structures de menu et du contenu textuel. Comment dois-je procéder pour gérer les deux menus différents pour les différentes interfaces utilisateur? J'ai jeté un oeil à django-cms et à django-page-cms, et ils semblent ne conserver qu'une seule hiérarchie de menus.
Des idées?
Une solution sale serait d'ajouter par ex. un préfixe différent pour les éléments de menu de chaque interface utilisateur dans le CMS, et pirater le code CMS afin qu'il insère uniquement les éléments de menu pour l'interface utilisateur correcte (donnée en tant que paramètre à la balise de modèle show_menu).
Une meilleure façon de procéder serait d'avoir plusieurs instances de l'application CMS, de sorte que chacune d'elles ait ses propres tables de base de données. Mais est-ce possible avec django et par exemple. django-cms ou django-page-cms?
Quelques autres restrictions:
- le CMS doit prendre en charge la localisation
- Je préfère courir une seule instance de Django, de garder la configuration et de test simples