【问题标题】:Django manage.py commands with Google App Engine and Vagrant带有 Google App Engine 和 Vagrant 的 Django manage.py 命令
【发布时间】:2014-05-23 12:34:59
【问题描述】:

我有一个 Google App Engine 应用,并且正在使用 Vagrant 运行 Windows。我有一个通过 vagrant ssh 访问的 Ubuntu 安装。我在那台机器上安装了适用于 Python 的 Google App Engine SDK,我可以成功地部署我的应用程序:

appcfg.py update myapp --oauth2 --noauth_local_webserver

--noauth_local_parameter 允许我复制 oauth URL 并粘贴到我的 Windows 机器上的浏览器中,因为在 Linux 机器上我没有 GUI。一切正常。

但现在我想使用 Django manage.py syncdb 命令在 Google Cloud SQL 中创建表。问题是,当我执行该命令时,基于文本的 w3n 浏览器启动授权,然后我收到浏览器不支持 javascript 的错误消息。

我想运行带有 --noauth_local_webserver 标志的 manage.py 命令,但 manage.py 命令不支持。我该如何解决这个问题?我已经安装了带有 GUI 的 Ubuntu 虚拟机,并为应用程序授予了权限,并且 manage.py 在该机器上运行良好,但是当我尝试在 Vagrant(非 GUI)机器上执行命令时,它仍然想要打开浏览器获得许可。

【问题讨论】:

    标签: django google-app-engine google-cloud-sql


    【解决方案1】:

    嗯,我手动将oauth .dat文件复制到了vagrant服务器,manage.py syncdb现在可以工作了,但是浏览器还是连接不上网站;它说:

    No valid OAuth 2.0 credentials. Before using the Google SQL Service backend on dev_appserver, you must first run "manage.py syncdb" and proceed through the given instructions to fetch an OAuth 2.0 token.

    好像和here一样的错误。就我而言,似乎没有设置必要的GOOGLE_SQL_OAUTH2_REFRESH_TOKEN 环境变量。我从.dat 文件中复制了这个刷新令牌并将其设置在 app.yaml 中:

    env_variables:
      GOOGLE_SQL_OAUTH2_REFRESH_TOKEN: "..."
    

    现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-13
      • 2011-01-09
      • 2016-12-30
      • 2013-01-07
      • 1970-01-01
      • 2023-03-07
      • 2012-06-01
      • 2014-06-01
      相关资源
      最近更新 更多