重置电子邮件发给我 example.com url
Reset email send me example.com url
当我尝试使用密码 password/reset 给我发一封邮件 url
http://example.com/password-reset/confirm/MjM/572-52a21bbd1b80e9377f98/有什么想法吗??
settings.py
SITE_ID = 1
#Registro simple sin correo
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
#Login no mail
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_CONFIRM_EMAIL_ON_GET = True
ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL =
reverse_lazy('account_confirm_complete')
ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL =
reverse_lazy('account_confirm_complete')
ACCOUNT_USERNAME_REQUIRED = False
#Following is added to enable registration with email instead of username
AUTHENTICATION_BACKENDS = (
# Needed to login by username in Django admin, regardless of `allauth`
"django.contrib.auth.backends.ModelBackend",
# `allauth` specific authentication methods, such as login by e-mail
"allauth.account.auth_backends.AuthenticationBackend",
)
如果您在设置中使用 SITE_ID=1
,这显然会发生。 django-all-auth包使用domain
[=57=的值] SITE_ID
的字段,同时创建 reset-password 邮件.
所以,你可以这样做,
1。更改现有 SITE_ID
的 domain
的值
运行 Django 中的脚本 Shell
from django.conf import settings
from django.contrib.sites.models import Site
site = Site.objects.get(id=settings.SITE_ID)
site.domain = "your.required.domain.com"
site.name = "Some Readable Name for Your Site"
site.save()
2。创建新的 Site
实例并将新创建的站点 ID 放入 settings.py
运行 这个在 django 上 shell,
from django.contrib.sites.models import Site
site = Site.objects.create(domain="your.required.domain.com", name="Some Readable Name for Your Site")
print(site.id)
现在,您将获得新的 站点 ID,将其放入 settings.py 中,如
#settings.py
SITE_ID = 123 # here "123" is the id of your newly creted site object
备注
这些事情(1 和 2)也可以通过 Django 管理控制台完成。
当我尝试使用密码 password/reset 给我发一封邮件 url
http://example.com/password-reset/confirm/MjM/572-52a21bbd1b80e9377f98/有什么想法吗??
settings.py
SITE_ID = 1
#Registro simple sin correo
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
#Login no mail
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_CONFIRM_EMAIL_ON_GET = True
ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL =
reverse_lazy('account_confirm_complete')
ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL =
reverse_lazy('account_confirm_complete')
ACCOUNT_USERNAME_REQUIRED = False
#Following is added to enable registration with email instead of username
AUTHENTICATION_BACKENDS = (
# Needed to login by username in Django admin, regardless of `allauth`
"django.contrib.auth.backends.ModelBackend",
# `allauth` specific authentication methods, such as login by e-mail
"allauth.account.auth_backends.AuthenticationBackend",
)
如果您在设置中使用 SITE_ID=1
,这显然会发生。 django-all-auth包使用domain
[=57=的值] SITE_ID
的字段,同时创建 reset-password 邮件.
所以,你可以这样做,
1。更改现有 SITE_ID
的 domain
的值
运行 Django 中的脚本 Shell
from django.conf import settings
from django.contrib.sites.models import Site
site = Site.objects.get(id=settings.SITE_ID)
site.domain = "your.required.domain.com"
site.name = "Some Readable Name for Your Site"
site.save()
2。创建新的 Site
实例并将新创建的站点 ID 放入 settings.py
运行 这个在 django 上 shell,
from django.contrib.sites.models import Site
site = Site.objects.create(domain="your.required.domain.com", name="Some Readable Name for Your Site")
print(site.id)
现在,您将获得新的 站点 ID,将其放入 settings.py 中,如
#settings.py
SITE_ID = 123 # here "123" is the id of your newly creted site object
备注
这些事情(1 和 2)也可以通过 Django 管理控制台完成。