【发布时间】:2020-02-16 23:47:12
【问题描述】:
我正在使用 django 并做出反应并开发一个多租户应用程序,其中 django 中的每个子域都是不同的公司。使用休息框架。 在用户注册(公司明智的用户)时,会向每个用户发送一封确认电子邮件以激活他们的帐户。
发送给用户的邮件格式为
http://company_code.localhost.com:8000/rest-auth/account-confirm-email/key
子域明智。经过一番搜索,我知道这来自 allauth、send_confirmation_message.text 文件,格式为 {{activate_url}}
为了通过反应激活帐户,我所做的是将 allauth 的默认“send_confirmation_message.txt”文件更改为:
'http://localhost:3000/verify-email?key={{key}}' -- 反应
现在我会自动从反应的 url 过滤我的密钥并发布到后端,并激活帐户, 手册部分仍然是从 django 在电子邮件中发送的 url 获取公司代码。
我再次阅读了有关模板过滤器标签但无法使用的信息。 那么我如何在 {{activate_url}} 上使用过滤器 http://company_code.localhost.com:8000/rest-auth/account-confirm-email/key 获取我的 company_code 并以 url 的形式发送响应。
获取 company_code 很重要,因为用户是公司明智的,并且应将响应发布到特定公司。
或者我的方法是错误的,应该尝试其他方法?
谢谢
【问题讨论】:
-
我不明白您的问题:电子邮件中的 url 是否不正确?反应在哪里(什么页面),你想做什么?
-
电子邮件中的 url 是正确的,但我不希望人们点击它。这将进入其余框架页面或说我的后端。我想要的只是从我的前端激活帐户,该帐户做出反应并重定向到登录页面。
-
您可以查看上面的 url.... company_code 是我的子域...我在每个子域的数据库中都有不同的架构。我已经得到了 url 中键的值。如果我得到我的子域,我的电子邮件中的 url 看起来像 frontend.com/verify-email?key=key&company_code=subdomain 我需要做的就是过滤 { {activate_url}} 获取子域。我想更改用户收到的链接。 {{activate_url}} 在 allauth-> template-> account->email->email_confirmation.txt 文件中