簡體   English   中英

django-allauth:如何修改電子郵件確認網址?

[英]django-allauth: how to modify email confirmation url?

我在端口8001上運行django,而nginx在端口80上處理網絡服務器職責。nginx代理視圖和對Django的一些REST api調用。 我正在使用django-allauth進行用戶注冊/身份驗證。

當新用戶注冊時,django-allauth向用戶發送一封電子郵件,其中包含單擊鏈接。 由於django在端口8001上運行,因此鏈接看起來像http://machine-hostname:8001/accounts/confirm-email/xxxxxxxxxxxxxx

如何使網址看起來像http://www.example.com/accounts/confirm-email/xxxxxxxx

謝謝!

Django從HTTP標頭獲取主機名和端口。 添加proxy_set_header Host $http_host; 在選項proxy_pass之前進入您的nginx配置。

我遇到了同樣的問題,並且還發現ferrangb的解決方案對傳出的allauth電子郵件沒有影響。 mr_tron的回答使我半途而廢,但是我不得不做更多的事情:

1)在nginx配置中,將

proxy_set_header Host $http_host

在選項proxy_pass之前。

2)在settings.py ,將域名添加到ALLOWED_HOSTS 我還添加了域名的www版本,因為這兩個地址都有訪問量。

ALLOWED_HOSTS = ['127.0.0.1', 'example.com', 'www.example.com']

並且,當然,重新啟動nginx和gunicorn或為您的Django服務的任何工具。 第一步但不是第二步,對該網站的所有點擊都是立即發生400錯誤(除非settings.py DEBUG = True )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM