Quelqu'un pourrait-il me dire comment je peux exécuter Django sur deux ports simultanément? La configuration Django par défaut n'écoute que sur le port 8000. J'aimerais également exécuter une autre instance sur Port XXXX. J'aimerais rediriger toutes les demandes de ce deuxième port à une application particulière dans mon application Django. p>
Je dois y accomplir avec l'installation Django par défaut et non à l'aide d'un serveur Web comme Nginx, Apache, etc. P>
merci p>
Disons que je suis deux applications dans mon application Django. Maintenant, je ne veux pas dire deux applications Django distinctes, mais les dossiers séparés dans le répertoire "App '". Appelons ce Je veux que toutes les demandes sur le port 8000 accélèrent sur hth. p> app1 code> et app2 code> p>
app1 code> et toutes les demandes de port xxxx pour accéder à app2 code> p> p>
3 Réponses :
Il suffit d'exécuter deux instances de ./ manage.py runserver code>. Vous pouvez définir un port en le spécifiant directement directement: ./ manage.py runserver 8002 code> Pour écouter le port 8002. P>
Params.py code> et urls.py code> fichiers. Vous exécuteriez alors une instance de runserver code> avec chacun, passant le drapeau des paramètres de manière appropriée: ./ manage.py runserver 8002 --Settings = app1.Settings code> p> P>
Bonne idée. Mais cela ne résoudrait pas tout à fait mon problème. J'aurais dû être plus explicite. Je vais faire une édition.
Le serveur Web intégré est destiné au développement uniquement. Vous devez donc vraiment utiliser Apache ou similaire dans une situation où vous devez exécuter plusieurs ports. P>
D'autre part, vous devriez pouvoir démarrer plusieurs serveurs simplement en démarrant plusieurs instances de runserver code>. Tant que vous utilisez un serveur de base de données séparé, je ne pense pas que cela aura des problèmes supplémentaires. P>
Une autre chose à considérer - Django's Session Stuff utilisera le même cookie de session pour chaque site, et comme Les cookies ne sont pas spécifiques au port , vous aurez des problèmes avec la déconnexion de chaque fois que vous basculez entre Windows, à moins que vous n'utilisiez plusieurs sessions de navigateur / navigation privée pendant le développement. P>
Bien que ce soit ce que vous devez faire lorsque vous devez vous connecter à 2 utilisateurs différents sur le même site, connectez-vous à 2 sites différents sur Django sur différents ports localhost ne doivent pas nécessairement fonctionner comme ceci. P>
Une solution facile consiste à écrire un middleware simple pour résoudre ce problème en ajoutant le numéro de port sur le nom de la variable utilisé pour stocker votre identifiant de session. Voici celui que j'utilise . P>
Je me demande si cela résoudra mon problème. Je passe plusieurs conteneurs Docker sur une instance, Django s'exécute sur plusieurs ports hôtes. Lorsque je me connecte, si la réponse est servie à partir d'un autre conteneur, elle répond avec Connexion à nouveau car son inconorciation je viens d'authentifier avec un autre serveur et que cela ne peut donc pas récupérer la session.
Merci! J'ai eu ce problème et je pensais que c'était la nouvelle version de Firefox!