【发布时间】:2012-06-13 18:26:34
【问题描述】:
我相信很多 Django 开发者在使用 social-auth 时一定会遇到这个问题。 最初,当您开发它时,您希望在本地服务器上对其进行测试,因此您需要在 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
仍然无法访问运行在 127.0.0.1:8000 的 Django 服务器。
你们是怎么做到的?
谢谢,
【问题讨论】:
-
如果您只在地址栏中输入 mysite.com,它将默认使用端口 80。试试
mysite.com:8000 -
啊谢谢不知道这个。但作者也说:“相反,我定义myapp.com 并在/etc/hosts 上设置映射或使用dnsmasq。”因此他没有在 facebook 设置下设置 myapp.com:8000。
-
好吧,我不知道端口号对于通过 Facebook 进行身份验证是否重要,但您的另一个选择是在端口 80 上运行 Django,这将需要 root 权限并且该端口尚未被占用(由 Apache例如)。
-
啊,我正在尝试以 root 身份运行 PyCharm,但我无法执行 Sudo /home/username/pycharm-2.5.1/bin/pycharm.sh 它会弹出安装对话框。你知道如何以 root 身份运行 PyCHarm 吗?
-
我建议从命令行 (
manage.py runserver) 以 root 身份运行 Django,而不是尝试让 IDE 以 root 身份运行。但是,即使以 root 身份运行 Django 也不是一个好主意,如果你真的需要端口 80,从命令行运行它,直到你完成 facebook auth 的设置,然后回到你的正常开发环境。
标签: python django django-socialauth