首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Django保存到远程服务器

问如何使用Django保存到远程服务器
EN

Stack Overflow用户
提问于 2018-03-04 21:17:40
回答 2查看 1.4K关注 0票数 3

我对Python和Django相当陌生。最近,我在LinuxMint18.3中使用Postgresql数据库开发了一个Django应用程序。

我已经将该应用程序上传到PythonAnywhere,但不幸的是,它需要Java的一些NLP功能(斯坦福POS)。是否有一种方法可以解析和处理本地系统上的数据并将其保存到远程Postgres并从远程服务器为数据提供服务?

我看过一些关于SSH隧道的答案,但我不确定这是否适用于这里?或者,是否可以将数据保存到本地数据库并定期将数据迁移到远程数据库?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-05 19:40:25

是的--要从本地机器访问PythonAnywhere Postgres,您需要使用SSH隧道。如果您使用的是类似Unix的操作系统(例如。在您的本地机器上,此帮助页底部的“手动SSH隧道”指令将通过一些调整来处理。

帮助页上的SSH命令是:

代码语言:javascript
复制
ssh -L 3306:username.mysql.pythonanywhere-services.com:3306 username@ssh.pythonanywhere.com

正如您所看到的,...which是MySQL的。要使它在您的PythonAnywhere Postgres服务器上工作,请替换:

  • 第一个带有3306的5432 (这意味着在本地机器上,它将使用默认的Postgres端口)
  • 带有Postgres服务器主机名的username.mysql.pythonanywhere-services.com来自PythonAnywhere内部“数据库”页面上的"Postgres“选项卡。
  • 第二个3306与"Postgres“选项卡的端口在PythonAnywhere中的”数据库“页面上。

所以你最终会发现

代码语言:javascript
复制
ssh -L 5432:username-123.postgres.pythonanywhere-services.com:10123 username@ssh.pythonanywhere.com

...with对username、123和10123的不同值。

当您运行该命令(并输入您的PythonAnywhere登录密码,它将提示您输入密码)时,您的计算机上将启动一个进程,该进程看起来像一个Postgres服务器,用于所有本地进程,但实际上只是将所有内容转发到PythonAnywhere托管的数据库服务器。这样您就可以在本地运行您的解析和处理代码,并且它将透明地工作。

票数 1
EN

Stack Overflow用户

发布于 2018-03-05 11:44:32

是的,您只需使用Django DATABASES设置https://docs.djangoproject.com/en/2.0/ref/settings/#databases将本地env连接到远程DB即可。

小心使用文档中的Django版本(这里是2.0)

这样,您就可以从本地env写入,从远程服务器读取(使用相同的设置连接到远程DB)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49100598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档