Run Django on multiple ports

后端 未结 3 972
一生所求
一生所求 2021-02-10 15:50

Could someone tell me how I can run Django on two ports simultaneously? The default Django configuration only listens on port 8000. I\'d like to run another instance on port xxx

相关标签:
3条回答
  • 2021-02-10 16:46

    The built-in web-server is intended for development only, so you should really be using apache or similar in an situation where you need to run on multiple ports.

    On the other hand you should be able to start up multiple servers just by starting multiple instances of runserver. As long as you are using a separate database server I don't think that will have any extra problems.

    0 讨论(0)
  • 2021-02-10 16:51

    One other thing to consider - django's session stuff will use the same session cookie for each site, and since cookies are not port specific, you'll have issues with getting logged out every time you switch between windows unless you use multiple browser sessions/private browsing during development.

    Although this is what you need to do when logging in as 2 different users on the same site, logging into 2 different sites both running django on different localhost ports doesn't have to work like this.

    One easy solution is to write a simple middleware to fix this by appending the port number to the variable name used to store your session id. Here's the one I use.

    0 讨论(0)
  • 2021-02-10 16:55

    Just run two instances of ./manage.py runserver. You can set a port by simply specifying it directly: ./manage.py runserver 8002 to listen on port 8002.

    Edit I don't really understand why you want to do this. If you want two servers serving different parts of your site, then you have in effect two sites, which will need two separate settings.py and urls.py files. You'd then run one instance of runserver with each, passing the settings flag appropriately: ./manage.py runserver 8002 --settings=app1.settings

    0 讨论(0)
提交回复
热议问题