Python 根据开发或生产环境更改Facebook登录重定向url?

Python 根据开发或生产环境更改Facebook登录重定向url?,python,html,django,facebook,Python,Html,Django,Facebook,说实话,我不知道该如何命名我的问题。我正在用我的应用程序测试facebook注册api。我有我的localhost:8000 url和我的livesite url。我想做的是,让它识别我使用的是哪一个(本地与实时url) 我认为这会奏效: <a href="https://www.facebook.com/plugins/registration.php?client_id=98493fakenumber239&redirect_uri=settings.SITE_URL+"soc

说实话,我不知道该如何命名我的问题。我正在用我的应用程序测试facebook注册api。我有我的localhost:8000 url和我的livesite url。我想做的是,让它识别我使用的是哪一个(本地与实时url)

我认为这会奏效:

<a href="https://www.facebook.com/plugins/registration.php?client_id=98493fakenumber239&redirect_uri=settings.SITE_URL+"social_login/facebook/&fields=%5B%7B%22name%22%3A%22name%22%2C%22view%22%3A%22prefilled%22%7D%2C%7B%22name%22%3A%22first_name%22%7D%2C%7B%22name%22%3A%22last_name%22%7D%2C%7B%22name%22%3A%22email%22%7D%2C%7B%22name%22%3A%22password%22%7D%5D" class="facebook"></a>


有什么想法吗?非常感谢您的帮助。

只需在您想要当前域的代码中使用
{{{request.get_host}}
。(假设您使用的是
context\u instance=RequestContext(request)
、Django 1.3的
render
方法或基于类的视图)

更新

Facebook似乎只允许从应用程序设置中指定的域进行通信。因此,仅仅告诉它重定向到localhost是不够的。它只会告诉你你所犯的错误。您的最佳选择可能是在本地计算机上编辑主机文件并添加如下条目:

127.0.0.1    mydomain.com
在*nix环境(OSX、Ubuntu等)中,您可以在
/etc/hosts
找到hosts文件。在Windows中,它位于
C:\Windows\System32\drivers\etc\hosts


这会将所有请求从本地计算机路由到域,并返回到本地计算机。显然,在开发完成后,您需要将其从主机文件中删除,以便能够访问您的生产站点。

只需在需要当前域的代码中使用
{{request.get_host}}
。(假设您使用的是
context\u instance=RequestContext(request)
、Django 1.3的
render
方法或基于类的视图)

更新

Facebook似乎只允许从应用程序设置中指定的域进行通信。因此,仅仅告诉它重定向到localhost是不够的。它只会告诉你你所犯的错误。您的最佳选择可能是在本地计算机上编辑主机文件并添加如下条目:

127.0.0.1    mydomain.com
在*nix环境(OSX、Ubuntu等)中,您可以在
/etc/hosts
找到hosts文件。在Windows中,它位于
C:\Windows\System32\drivers\etc\hosts


这会将所有请求从本地计算机路由到域,并返回到本地计算机。明显地开发完成后,您需要将其从主机文件中删除,才能访问您的生产站点。

只需创建两个应用程序,一个用于本地开发,一个用于生产。

只需创建两个应用程序,一个用于本地开发,一个用于生产。

我假设您已经为这些应用程序存储了一些价值
SITE\u URL
在设置中?默认情况下它不在那里。是的,我有一个
SITE\u URL
的值。在放入
后,fb返回
'redirect\u uri'应该是一个绝对url
您需要在它前面加上
http://
@ChrisPratt
,该客户端id不允许使用“redirect\u uri”。
我想facebook需要一个特定的url?我假设您在设置中为
站点url
存储了一些值?默认情况下它不在那里。是的,我有一个
SITE\u URL
的值。在放入
后,fb返回
'redirect\u uri'应该是一个绝对url
您需要在它前面加上
http://
@ChrisPratt
,该客户端id不允许使用“redirect\u uri”。
我想facebook需要一个特定的url?