Я написал код для регистрации, в котором после ввода имени и пароля он будет перенаправлять нас на страницу отправки электронной почты, а также предполагать отправку почты в консоли, но она не отображается.
просмотров. py
def signup(request):
if request.method == 'POST':
form = SignUpForm(request.POST)
if form.is_valid():
user = form.save(commit=False)
user.is_active = False
user.save()
current_site = get_current_site(request)
subject = 'Activate Your MySite Account'
message = render_to_string('user/account_activation_email.html', {
'user': user,
'domain': current_site.domain,
'uid': urlsafe_base64_encode(force_bytes(user.pk)),
'token': account_activation_token.make_token(user),
})
user.email_user(subject, message)
return redirect('account_activation_sent')
else:
form = SignUpForm()
return render(request, 'user/register.html', {'form': form})
settings.py
Настройка электронной почты в настройках.
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
urls.py
Это отображение URLиспользуется ниже.
urlpatterns = [
path('register/', signup,name='sinup_user'),
path('password_reset/',auth_view.PasswordResetView.as_view(), name='password_reset'),
path('password_reset/done/',auth_view.PasswordResetDoneView.as_view(), name='password_reset_done'),
path('reset/done',auth_view.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
path('account_activation_sent/', account_activation_sent, name='account_activation_sent'),
path('activate/<uidb64>/<token>/', activate, name='activate'),
]
путь ('reset ///', auth_view.PasswordResetConfirmView.as_view (), name = 'password_reset_confirm'),
account_activation_email.html
Это шаблон консоли, который использовался.
{% autoescape off %}
Hi {{ user.username }},
Please click on the link below to confirm your registration:
http://{{ domain }}{% url 'activate' uidb64=uid token=token %}
{% endautoescape %}
Консоль
Приведенные ниже формулировки появляются в консоли, но почта здесь не отображается.
System check identified no issues (0 silenced).
October 12, 2019 - 12:50:55
Django version 2.2.6, using settings 'music.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[12/Oct/2019 12:51:41] "GET /user/register/ HTTP/1.1" 200 4282
[12/Oct/2019 12:52:03] "POST /user/register/ HTTP/1.1" 302 0
[12/Oct/2019 12:52:03] "GET /user/account_activation_sent/ HTTP/1.1" 200