J'ai la structure de répertoire suivant:application Django lui-même sous-domaine
/(index) /blog/ /about/
Courir une seule instance de Django, je veux l'URL à afficher comme blog.domain.com (pour mon application blog), mais toutes les autres URL à exécuter sous (www.) domain.com/.
Je pourrais sûrement coder en dur les liens, forçant cette configuration (fondamentalement le webserver écoutera blog.domain.com et fera un forward comme domain.com/blog/ mais l'utilisateur verra toujours blog.domain.com) mais Je veux être en mesure de résoudre mes URL-configs de la bonne façon, mais toujours les amener à pointer vers domain.com ou blog.domain.com en fonction de l'URL (application) en cours de résolution.
Existe-t-il un bon moyen de le faire? Je pensais à un templatetag personnalisé à utiliser au lieu de {% url my_resolve_name slug="test" as test %}
.
Comment cela m'aidera-t-il à résoudre toutes les URL de mon application de blog sur blog.domain.com, mais toutes les autres résolutions iront sur domain.com? Si je suis sur blog.domain.com toutes les URLs seront résolues sur blog.domain.com et non seulement sur celles de blog-app. – xintron
Ok, si vous ne disposez que de deux sous-domaines, ce n'est pas le meilleur moyen. Dans ce cas, j'aurai deux paramètres différents 'settings_blog', qui ne concerne que l'application de blog, et Apache virtualhost pointe vers un fichier wsgi dont le paramètre' DJANGO_SETTINGS_MODULE' est défini sur settings_blog. L'autre virtualhost répond à tout le reste sur example.com et a un fichier wsgi qui a 'DJANGO_SETTINGS_MODULE' dans les paramètres, qui a toutes les autres applications. – agiliq
Cela ne fonctionne que si j'utilise Apache, ce que je ne fais pas. Exécuter nginx et django en tant que fastcgi (bien que vous puissiez essayer uwsgi plus tard). – xintron