蟒蛇

我相信很多Django开发人员在使用社交认证时必须遇到这个问题。 最初当你开发它时,你想在你的本地服务器上测试它,因此你会在你的etc / hosts中重定向域名。

我在文档中提到了这一点:

https://github.com/omab/django-social-auth#facebook

如果您在Facebook设置页面中定义重定向URL,请务必不要定义http://localhost:8000因为它在测试时不起作用。 相反,我定义http://myapp.com并在/ etc / hosts上设置映射或使用dnsmasq。

根据我的理解,您无法在/ etc / hosts中定义任何端口。

因此在那里定义这个条目:

127.0.0.1       example.com

仍然没有命中我的Django服务器运行在127.0.0.1:8000。

你们如何做到这一点?

谢谢,


每个人都说,“将example.com添加到您的主机文件中......”但忽略提及启动runserver后应使用example.com:8000。 以下是对我而言更为详细的步骤:

在linux上:

  • 打开一个终端
  • sudo gedit(或用选择的文本编辑器替换gedit)
  • 打开etc / hosts文件
  • 添加一行:127.0.0.1 example.com(如果您已经有一行以127.0.0.1开头,则可以将其保留 - https://serverfault.com/questions/231844/is-it-safe-to-add-additional -127-0-0-1条目到等的主机)
  • 保存文件
  • 启动你的d​​jango dev服务器 - python manage.py runserver
  • 打开浏览器并转到example.com:8000(这会给谷歌和其他网站带来正确的回调,这些网站不会与127.0.0.1或本地主机一起使用)
  • 你应该看到你的django网站的主页。
  • 转到您想要连接的社交网站,并使用example.com作为网站名称来设置您的客户端ID。 例如,Google的回叫网址是http://example.com:8000/complete/google-oauth2/
  • 复制相应的密钥/ ID设置并粘贴到您的SETTINGS.py中
  • 现在你的开发服务器应该工作了
  • 我知道这是一个较旧的帖子,但我无法在任何地方找到完整的步骤。 如有必要,请加上澄清,因为我不是这方面的专家。


    我已经通过以下步骤解决了重定向问题:https://serverfault.com/questions/397364/how-to-setup-named-virtual-hosts-in-nginx

    简而言之,你需要在/ etc / hosts中有一个条目,就像我之前加上nginx代理一样。


    安装小提琴手。 安装完成后,转至工具>主机。

    然后你可以从127.0.0.1:8000映射到mysite.com

    链接地址: http://www.djcxy.com/p/10845.html

    上一篇: python

    下一篇: memory image decrease