我使用Django的send_mail發送一封電子郵件(使用模板)已在它的下面一行:獲得root URL /域名電子郵件模板
要重設密碼,請點擊以下鏈接:
http://localhost:8000/{% url 'reset_password' uid=uid token=token %}
正如你所想象的那樣,這並不理想。我有多個環境(本地,分段,開發,產品),每個環境都有完全不同的基本URL。我希望能夠動態生成域名,但url函數僅提供根URL之後的路徑(即/ reset_password/some_token /)。
有什麼辦法可以動態生成主機名?我知道我可以在每臺機器上都有一個環境變量,並將其放在我的settings.py文件中,但我不是唯一的開發人員,我們的環境可能無法在一段時間內更新。
當我在我的本地主機上執行此操作時,我從字面上得到「example.com」。這是預期的行爲?我怎樣才能讓它返回它當前運行的域名 - localhost:8000? – user1427661
這是默認值。這就是爲什麼您需要以編程方式或使用管理員在每個環境中正確設置它。 – arocks
完成此操作的最佳方法是什麼?只需在settings.py中設置Site.objects.get_current()。domain? – user1427661