0
votes

Comment puis-je configurer Django et réagir sur le même port et le même routage?

Le problème

Salut! J'essaie de configurer mon application Django-réagissant, mais je ne peux pas réussir à faire fonctionner les deux à exécuter dans le même port (l'API de repos Django est dans le port 8000 et réagir dans 3000 ) Utilisation des liens et des itinéraires de routeur réagissant.

J'utilise Django, DjangorestFramework, réagir, réagir au routeur et réacteur routeur DOM . S'il vous plaît aider 🤓😅

L'API de Django fonctionne parfaitement pour obtenir des demandes d'obtention et de poste et ils se chargent parfaitement avec listCreateapIVievis s

Voici quelques images de mes fichiers. Faites-moi savoir si vous avez besoin de plus d'informations.

Les images

Structure du projet

 Structure du projet

modèles.py

 Entrez la description de l'image ici

sérializers.py

 Entrez la description de l'image ici

API / URLS.PY

 Entrez la description de l'image ici

URLS.PY

 Entrez la description de l'image ici

Paramètres.py

 Entrez la description de l'image ici


4 commentaires

Modifiez le port dans WebPack ou modifiez le port que vous utilisez le serveur Django avec n'importe quel port souhaité. Cela dit, si vous développez / exécutant à la fois sur la même machine, vous les souhaitez exécuter sur différents ports car une seule application peut être liée à n'importe quel port afin que vous ne puissiez pas les exécuter sur le même port en même temps.


Mais éventuellement, je veux tout courir sur un serveur et pour cela mieux que tout fonctionne dans le même port? Btw j'ai aussi utilisé Create-React-App


Ou est-ce que c'est d'accord pour que la production de production soit exécutée chacune dans son propre port?


Je pense que je comprends ce que vous demandez et je laisse une réponse ci-dessous


3 Réponses :


0
votes

La réponse

Ceci n'est pas possible en raison de Django et de réagir d'avoir besoin d'un port séparé à exécuter. Pour que cela puisse travailler un Build à partir de réagi doit être généré, puis importé et a été signé par Django afin que seule l'application Django soit exécutée et que seul le port Django est ouvert.

J'espère que cela aide tout le monde qui a eu cette question aussi.

acclamations!


0 commentaires

0
votes

Vous pouvez faire si vous configurez NGinx sur votre serveur et vous le proxy inversé comme un routeur afin que vous puissiez faire quelque chose de lien

localhost / API -> Locahost: 8000

localhost -> Locahost: 3000


0 commentaires

2
votes

Un port est un point de terminaison de réseau spécifique qui est lié à une instance d'application exécutée sur le serveur. Par exemple, généralement si je veux me connecter à mon serveur via SSH, je devrai vous connecter via le port 22. Comme SSH est en cours d'exécution sur le port 22, rien d'autre ne peut y aller car comment l'ordinateur sait si le trafic entrant dans le port Pour SSH ou l'autre application en écoutant là-bas? C'est pourquoi il y a des milliers de ports que vous pouvez utiliser et pourquoi Django et réagiront-ils sur différents ports si vous les exécutez en même temps. Si vous êtes intéressé, je lisais un peu sur ports et d'autres Sujets de réseau de base.

Maintenant, je pense que ce que vous demandez est: je veux courir réagir et django ensemble et je veux qu'ils puissent communiquer. Pour ce fonctionnement dans différents ports, c'est bien, pour le développement, pointez simplement l'application réactive pour communiquer avec Django sur le port spécifié et le même pour Django. Lorsque vous allez réellement lancer une application dans la production, vous exécuterez le programme sur le serveur et le lierez à un port, puis vos clients appelleront l'API à l'aide de ce port spécifié. Parce qu'ils ne courent pas sur la même machine en production, il n'y aura pas de collisions, c'est bien c'est bien. Parfois, vous avez la situation où beaucoup de choses essaient de se connecter en même temps et si quelque chose est déjà connecté sur ce port, la connexion sera refusée. C'est pourquoi WebServer peut être configuré pour écouter un port spécifique et un trafic avant d'autres que de nombreux utilisateurs peuvent être entretenus simultanément.


1 commentaires

Réponse géniale! De plus, je n'avais pas rendu index.html à Django pour le chemin principal. Tout va bien maintenant merci!