Django重置密码返回127.0.0.1:800代替域名

时间:2018-12-22 09:55:16

标签: django python-3.x nginx

在我的django项目中,我实现了忘记密码链接:

path('accounts/', include('django.contrib.auth.urls')),

我有一个这样配置的Nginx服务器(在位置部分):

 location /static/ {
            alias /var/www/web/core/frontend/static/;
    }

    location / {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header X-Forwarded-Host $server_name;
            proxy_set_header X-Real-IP $remote_addr;
            #add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
            proxy_set_header  X-DTS-SCHEMA $subdomain;
            proxy_redirect http:// https://;
            }

我使用带有nohup的runserver运行我的应用程序(gunicorn和uWsgi不适用于我的目的)

nohup python manage.py runserver &

现在,当我调用重置密码页面(/accounts/password_reset/)并插入我的电子邮件地址时,我收到了带有重置密码链接的电子邮件,但链接的域部分是127.0.0.1:8000而不是域名称。

我如何使用currend域而不是127.0.0.1:8000来请求django?

非常感谢

1 个答案:

答案 0 :(得分:0)

这很可能是当前站点的域不正确。您可以通过以下方式进行验证

from django.contrib.sites.shortcuts import get_current_site
get_current_site()

https://docs.djangoproject.com/en/2.1/ref/contrib/sites/#django.contrib.sites.shortcuts.get_current_site