2024-10-08 18:26:07 发布
网友
我使用allauth和注册后,用户收到一封电子邮件,要求他们点击一个链接,以验证他们的电子邮件地址。我想更改这个链接的值。在
我想把它从
http://localhost:8001/account/confirm-email/hy72ozw8b1cexuw2dsx4wwrmgzbmnyxx4clswh67tcvgyovg/
到
我该怎么做?我看到activate_url值正在email_confirmation_text.txt中使用
activate_url
我没有使用django allauth,也没有将其合并到我的一个项目中,但是只要在他们的源代码中查找一下,就会发现以下情况:
send method只是执行一个基本的urlresolvers.reverse调用,这意味着它正在从account/urls.py构造定义为here的URL。在
urlresolvers.reverse
account/urls.py
因此,您有三种选择:
urls.py
EmailConfirmation
您实际上不必重写allauth的urls.py为了实现这一点,您只需在之后指定您的url版本,包括allauth的url:
allauth
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"), ... )
这是一篇关于url的好文章:Cool URIs don't change
我没有使用django allauth,也没有将其合并到我的一个项目中,但是只要在他们的源代码中查找一下,就会发现以下情况:
send method只是执行一个基本的
urlresolvers.reverse
调用,这意味着它正在从account/urls.py
构造定义为here的URL。在因此,您有三种选择:
urls.py
,每次更新包时都必须重复此操作(恶心)。在EmailConfirmation
模型,用更适合你的项目的东西覆盖他们的send方法,看看你是否能让它使用你的而不是他们的(不知道这是否可行)。在您实际上不必重写
allauth
的urls.py
为了实现这一点,您只需在之后指定您的url版本,包括allauth
的url:这是一篇关于url的好文章:Cool URIs don't change
相关问题 更多 >
编程相关推荐