gpt4 book ai didi

django - 从在 WSL 上运行的 django 连接到在 Windows 上运行的 Postgres

转载 作者:行者123 更新时间:2023-12-05 09:33:04 25 4
gpt4 key购买 nike

我主要在 Windows 上开发,但我正在使用 WSL 测试我的应用程序,因为我会将它推送到 Linux 服务器。我当前的问题是将在 WSL 上运行的 django 应用程序连接到在 Windows 上运行的 postgres。许多文章解释了如何连接到在 WSL 上运行的 postgres,而不是反过来。

最佳答案

我无法测试所有这些,因此我们可能需要调整此答案中的一些项目,但这是我推荐的步骤:

  • 首先,假设这是一个 WSL2 实例,mDNS 应该可以从 WSL 访问 Windows 主机 IP。对于初学者,请从 WSL 内部尝试 ping $(hostname).local

  • 如果这可以解析 IP 地址,那么这是第 1 步。如果不能,那么还有其他选择(参见 this answer)。

  • 我假设 ping 不会因防火墙而返回。您需要一个规则来启用它。从管理员 PowerShell,New-NetFirewallRule -DisplayName "WSL Ping"-Direction Inbound -InterfaceAlias "vEthernet (WSL)"-Action Allow -Protocol ICMPv4。然后再次尝试 ping $(hostname).local。使用 Remove-NetFirewallRule -DisplayName "WSL Ping"

    删除规则
  • 如果可行,那么您就真正找到了关于如何访问 PostgreSQL 的答案——在该接口(interface)上设置防火墙规则。它应该类似于 New-NetFirewallRule -DisplayName "WSL PostgreSQL"-Direction Inbound -InterfaceAlias "vEthernet (WSL)"-Action Allow -Protocol TCP -LocalPort 5432

  • 然后您应该能够使用 {computername}.local 地址从 WSL 中的 Django 应用访问它。

关于django - 从在 WSL 上运行的 django 连接到在 Windows 上运行的 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67511282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com