同一台PC机同时运行两个django项目的认证登录问题
Posted
技术标签:
【中文标题】同一台PC机同时运行两个django项目的认证登录问题【英文标题】:Authentication login problem in running two django projects at the same time in same PC machine 【发布时间】:2021-05-23 10:38:22 【问题描述】:我在同一台计算机上有两个不同的 django 项目,我通过给出命令 python manage.py runserver 8000
和 python manage.py runserver 8001
来运行这两个项目。它们都运行没有任何错误,但是当我在同一个 chrome 浏览器中的两个不同选项卡中打开它们并尝试登录两个项目时,它们被重置并再次返回登录页面。
我想说的是,当我登录第一个项目时,它成功登录,然后我登录第二个项目,它也成功登录,但第一个项目重置并再次返回登录页面。似乎浏览器一次只允许一次登录。
在 Cookies 会话或身份验证会话中是否有任何关于 django 会话的信息? 我是否必须在 settings.py 文件中添加或更改某些内容?
【问题讨论】:
【参考方案1】:您应该知道的是,当您登录时,会话 cookie 存储在浏览器中,然后在每个请求中发送到服务器。 cookie 是为您正在登录的域设置的,在您的情况下是 localhost。 因此,因为在您的两个应用程序中,域名都是相同的“localhost”,因此 cookie 将被您启动的下一个项目覆盖。 要解决此问题,您可以在 127.0.0.1:8000 上运行一个项目,在 localhost:8001 上运行另一个。 这样cookie就不会被覆盖,因为现在域名不同了。 您还可以使用系统 ip 而不是 localhost 来运行您的项目之一。
您可以通过访问 chrome 上的检查部分然后导航到那里的应用程序部分来查看正在设置的 cookie 以及在哪个域上 -> cookie -> yourdomain
【讨论】:
非常感谢您提供如此直接且解释清楚的答案。这解决了问题。谢谢以上是关于同一台PC机同时运行两个django项目的认证登录问题的主要内容,如果未能解决你的问题,请参考以下文章