1

问题

我一直在关注教程,了解如何使用贝宝实现 Django 墨盒。一切都托管在 AWS 上。至少使用沙盒帐户一切正常。除了返回 url,当我付款并单击链接返回商店时,我被重定向到我的完整页面,只是我的主机名更改为我的亚马逊实例内部 IP 地址。

发现

当创建对 Paypal 的请求表单时,返回 url 字段使用来自 Django 的request.get_host()的值进行初始化。问题是 AWS 使用他们自己的负载平衡,因此返回了机器的地址。我尝试在设置中启用 USE_X_FORWARDED_HOST 但它仍然不起作用。

4

1 回答 1

0

找到解决方案!!!

所以在这里找到了解决方案。基本上,由于 VPS 本身对 AWS 中的外部世界一无所知,因此您需要手动修改站点主机名。使用 SQL 修改表中的字段或使用 Django shell。

>>> from django.contrib.sites.models import Site
>>> website = Site.objects.all()[0] #or choose the website you need
>>> one.domain = 'myveryspecialdomain.com'
>>> one.save()

之后将正确的主机名添加到请求中。

于 2016-02-21T00:03:09.710 回答