【问题标题】:template filter tag in django - filtering {{activate_url}}django 中的模板过滤器标签 - 过滤 {{activate_url}}
【发布时间】: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 文件中

标签: django reactjs filtering


【解决方案1】:

我做到了..

email_confirmation_message.txt 中的

{% blocktrans %} 不允许我在 {{activate_url}} 上应用任何文件管理器或添加任何新块。

我删除了它并更改了用户在电子邮件中收到的用于激活帐户的 URL。 新网址是: http://front-end.com/verify-email/?id={{key}}&id1={{activate_url|slice:"7:12"}} 就我而言,子域始终为 5 个字符。

它把我带到我的前端,自动激活 componentDidMount 上的帐户并重定向到登录。

ps:blocktrans 不允许应用任何过滤器,添加新块。 仍然不知道blocktrans是什么,如果有人可以提供详细信息。

谢谢

【讨论】:

    猜你喜欢
    • 2013-03-16
    • 1970-01-01
    • 2011-09-30
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2020-03-18
    相关资源
    最近更新 更多