如何将 django 项目的默认 IP 设置为 0.0.0.0 以在 Visual Studio 2015 中进行调试?
Posted
技术标签:
【中文标题】如何将 django 项目的默认 IP 设置为 0.0.0.0 以在 Visual Studio 2015 中进行调试?【英文标题】:how to set default ip as 0.0.0.0 for a django project to debug in visual studio 2015? 【发布时间】:2016-10-31 22:20:22 【问题描述】:我正在使用 Visual Studio 2015、python 2.7、django 1.9 开发一个django rest framework
应用程序。我已启用 CORS。当我通过命令提示符以python manage.py runserver 0.0.0.0:8086
运行它时,我可以从其他来源访问它。但是,在 Visual Studio 自动调试中,它在 127.0.0.0 上运行。我想将 Visual Studio 配置为在指定的 IP(即 0.0.0.0)上运行服务器。所以,调试会很容易。
我尝试从site-packages\django\core\management\commands\runserver.py
设置默认端口和地址。
并且还能够在项目的 Visual Studio 属性中设置默认端口。但是,无法设置默认ip。
谁能帮我将 ip 0.0.0.0 配置为默认值,而不是 Visual Studio 中的默认值 (127.0.0.1)。
提前致谢。
【问题讨论】:
不知何故,我可以通过将属性窗口中Run Server Command
中的Arguments
修改为runserver 0.0.0.0:%SERVER_PORT% $(CommandLineArguments)
来解决问题。但是,我想这不是正确的解决方案。因为,重新修改它会产生异常。
您的解决方案对我来说听起来不错。它有什么问题?
是的,绫,时机很好。但是,我想知道是否有任何方法可以在 Visual Studio 配置中的某个位置进行配置。因此,以后如果我需要重新修改设置,它应该不会产生任何问题。因为之前的配置一旦修改就不接受了。
我的解决方案对您有用吗?
是的 e4c5,您的解决方案给了我很多想法,但我的要求不同。我找到了一种解决方案并作为一个答案发布。再次感谢您可爱的解释。
【参考方案1】:
这是可以在"args"
的值列表中添加/更改的方式。
$ cat .vscode/launch.json
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "$workspaceFolder/manage.py",
"args": [
"runserver",
"--noreload"
],
"django": true
]
【讨论】:
【参考方案2】:经过这么多的努力,我找到了一个解决方案,想与你分享。希望你会喜欢。
打开<your python location>\Lib\site-packages\django\core\management\commands\runserver.py
并找到一个处理self.addr
的代码。if not self.addr:
self.addr = '::1' if self.use_ipv6 else '127.0.0.1'
它将默认地址设置为 127.0.0.1 将其更改为 '0.0.0.0'
。现在,如果您只使用命令 ./manage.py runserver
运行服务器,它将在 0.0.0.0 上运行,即使在 Visual Studio 中也是如此。
祝你好运。
【讨论】:
上帝保佑你!!【参考方案3】:首先0.0.0.0
不是IP。它代表“本地机器上的所有 IPv4 地址”。当你启动开发服务器时
./manage.py runserver 0.0.0.0:8086
它将在 127.0.0.1
和您为网络接口配置的任何其他 IP 地址上提供服务
同样,它无法在127.0.0.0
上提供服务,因为那是一个广播地址。
如果您在计算机上配置了任何其他 IP(例如 192.168.1.1
),您可以在局域网中任何计算机上的浏览器或要求 IP 地址的 Visual Studio 中输入该 IP。
【讨论】:
谢谢e4c5。但问题是当我运行runserver 9192
并尝试使用我的ip 访问时,它显示There was an error connecting to http://192.168.1.63:9192/
。可能还有另一个问题,但我无法弄清楚。你能告诉我这可能是什么问题吗?
对不起,我的回答有错字。已更正以上是关于如何将 django 项目的默认 IP 设置为 0.0.0.0 以在 Visual Studio 2015 中进行调试?的主要内容,如果未能解决你的问题,请参考以下文章