如何在 django allauth 中更改 activate_url 的值?
How to change the value of activate_url in django allauth?
我正在使用 allauth,注册后用户会收到一封电子邮件,要求他们单击 link 以验证他们的电子邮件地址。我想更改此 link 的值。
我想将其更改为
http://localhost:8001/account/confirm-email/hy72ozw8b1cexuw2dsx4wwrmgzbmnyxx4clswh67tcvgyovg/
到
http://localhost:8001/index.html#/verifyEmail/hy72ozw8b1cexuw2dsx4wwrmgzbmnyxx4clswh67tcvgyovg/
我该怎么做?我看到 activate_url
值正在 email_confirmation_text.txt
中使用
我没有使用过 django-allauth 也没有将它合并到我的项目中,但只是在他们的源代码中闲逛告诉我以下内容:
send method just does a basic urlresolvers.reverse
call, which means it's constructing the URL from account/urls.py
as defined here.
因此,您有三个选择:
- 覆盖他们的
urls.py
,每次更新包时你都必须重复(糟糕)。
- 在他们的 GitHub 上提出问题,看看他们是否会将其添加为配置选项,而不是 "hard-coding" 他们已经完成的。
- 尝试子类化他们的
EmailConfirmation
模型,用更适合你的项目的东西覆盖他们的发送方法,看看你是否可以让它使用你的而不是他们的(不知道这是否可行) ).
您实际上不必覆盖 allauth
的 urls.py
即可实现此目的,您需要做的就是指定 url [=19= 的版本] 之后包括 allauth
的 urls:
from django.conf.urls import patterns, include, url
from allauth.account.views import confirm_email
urlpatterns = patterns('',
...
url(r'^accounts/', include('allauth.account.urls')),
url(r'^index.html#/verifyEmail/(?P<key>\w+)/$', confirm_email,
name="account_confirm_email"),
# but I would recommend changing that url:
url(r'^verify-email/(?P<key>\w+)/$', confirm_email,
name="account_confirm_email"),
...
)
这是一篇关于 URLS 的好文章:Cool URIs don't change
我正在使用 allauth,注册后用户会收到一封电子邮件,要求他们单击 link 以验证他们的电子邮件地址。我想更改此 link 的值。
我想将其更改为
http://localhost:8001/account/confirm-email/hy72ozw8b1cexuw2dsx4wwrmgzbmnyxx4clswh67tcvgyovg/
到
http://localhost:8001/index.html#/verifyEmail/hy72ozw8b1cexuw2dsx4wwrmgzbmnyxx4clswh67tcvgyovg/
我该怎么做?我看到 activate_url
值正在 email_confirmation_text.txt
我没有使用过 django-allauth 也没有将它合并到我的项目中,但只是在他们的源代码中闲逛告诉我以下内容:
send method just does a basic urlresolvers.reverse
call, which means it's constructing the URL from account/urls.py
as defined here.
因此,您有三个选择:
- 覆盖他们的
urls.py
,每次更新包时你都必须重复(糟糕)。 - 在他们的 GitHub 上提出问题,看看他们是否会将其添加为配置选项,而不是 "hard-coding" 他们已经完成的。
- 尝试子类化他们的
EmailConfirmation
模型,用更适合你的项目的东西覆盖他们的发送方法,看看你是否可以让它使用你的而不是他们的(不知道这是否可行) ).
您实际上不必覆盖 allauth
的 urls.py
即可实现此目的,您需要做的就是指定 url [=19= 的版本] 之后包括 allauth
的 urls:
from django.conf.urls import patterns, include, url
from allauth.account.views import confirm_email
urlpatterns = patterns('',
...
url(r'^accounts/', include('allauth.account.urls')),
url(r'^index.html#/verifyEmail/(?P<key>\w+)/$', confirm_email,
name="account_confirm_email"),
# but I would recommend changing that url:
url(r'^verify-email/(?P<key>\w+)/$', confirm_email,
name="account_confirm_email"),
...
)
这是一篇关于 URLS 的好文章:Cool URIs don't change