如何在django allauth中更改activate_url的值?

时间:2015-02-11 18:26:09

标签: python django django-allauth

我正在使用allauth,注册后,用户会收到一封电子邮件,要求他们点击链接以验证他们的电子邮件地址。我想改变这个链接的价值。

我想从

更改它
http://localhost:8001/account/confirm-email/hy72ozw8b1cexuw2dsx4wwrmgzbmnyxx4clswh67tcvgyovg/

http://localhost:8001/index.html#/verifyEmail/hy72ozw8b1cexuw2dsx4wwrmgzbmnyxx4clswh67tcvgyovg/

我该怎么做?我看到email_confirmation_text.txt

中正在使用activate_url

2 个答案:

答案 0 :(得分:8)

您无需覆盖allauth的{​​{1}}以实现此目的,您需要做的就是在之后指定您的网址版本{ {1}}的网址:

urls.py

这是一篇关于URLS的好文章:Cool URIs don't change

答案 1 :(得分:3)

我没有使用django-allauth或将其合并到我的一个项目中,但只是在他们的源代码中探讨了以下内容:

send method只会进行基本urlresolvers.reverse来电,这意味着它会根据here account/urls.py构建来自urls.py的网址。

因此,您有三种选择:

  1. 覆盖他们EmailConfirmation,每次更新包裹时都要重复这些内容(yuck)。
  2. 在他们的GitHub上提出一个问题,看看他们是否会将其添加为配置选项,而不是"硬编码"它已经完成了。
  3. 尝试对他们的{{1}}模型进行子类化,使用更适合您项目的方法覆盖其发送方法,并查看是否可以使用它而不是他们的(不知道这是否可行)。