|
1 | 1 | import logging
|
2 |
| -import threading |
3 | 2 |
|
| 3 | +from django.conf import settings |
| 4 | +from django.contrib import auth |
| 5 | +from django.contrib.auth import REDIRECT_FIELD_NAME |
| 6 | +from django.contrib.auth import get_user_model |
| 7 | +from django.contrib.auth import logout |
| 8 | +from django.contrib.auth.forms import AuthenticationForm |
| 9 | +from django.contrib.auth.hashers import make_password |
| 10 | +from django.http import HttpResponseRedirect, HttpResponseForbidden |
4 | 11 | from django.http.request import HttpRequest
|
5 | 12 | from django.http.response import HttpResponse
|
6 |
| -from django.shortcuts import render |
7 |
| -from django.contrib.auth import logout |
8 |
| -from django.views.generic import FormView, RedirectView |
9 |
| -from django.contrib.auth import get_user_model |
10 | 13 | from django.shortcuts import get_object_or_404
|
11 |
| -from django.http import HttpResponseRedirect, HttpResponseForbidden |
| 14 | +from django.shortcuts import render |
12 | 15 | from django.urls import reverse
|
13 |
| -from django.contrib.auth.forms import AuthenticationForm |
14 |
| -from django.contrib.auth import REDIRECT_FIELD_NAME |
15 |
| -from django.views.decorators.csrf import csrf_protect |
16 |
| -from django.contrib import auth |
17 |
| -from django.views.decorators.cache import never_cache |
18 | 16 | from django.utils.decorators import method_decorator
|
19 |
| -from django.views.decorators.debug import sensitive_post_parameters |
20 | 17 | from django.utils.http import is_safe_url
|
21 |
| -from django.conf import settings |
22 | 18 | from django.views import View
|
23 |
| -from django.contrib.auth.hashers import make_password |
| 19 | +from django.views.decorators.cache import never_cache |
| 20 | +from django.views.decorators.csrf import csrf_protect |
| 21 | +from django.views.decorators.debug import sensitive_post_parameters |
| 22 | +from django.views.generic import FormView, RedirectView |
24 | 23 |
|
25 |
| -from DjangoBlog.utils import send_email, get_sha256, get_current_site |
| 24 | +from DjangoBlog.utils import send_email, get_sha256, get_current_site, generate_code |
| 25 | +from . import utils |
26 | 26 | from .forms import RegisterForm, LoginForm, ForgetPasswordForm, ForgetPasswordCodeForm
|
27 |
| -from . import email |
28 | 27 | from .models import BlogUser
|
29 | 28 |
|
30 | 29 | logger = logging.getLogger(__name__)
|
@@ -69,7 +68,7 @@ def form_valid(self, form):
|
69 | 68 | content=content)
|
70 | 69 |
|
71 | 70 | url = reverse('accounts:result') + \
|
72 |
| - '?type=register&id=' + str(user.id) |
| 71 | + '?type=register&id=' + str(user.id) |
73 | 72 | return HttpResponseRedirect(url)
|
74 | 73 | else:
|
75 | 74 | return self.render_to_response({
|
@@ -136,8 +135,8 @@ def get_success_url(self):
|
136 | 135 |
|
137 | 136 | redirect_to = self.request.POST.get(self.redirect_field_name)
|
138 | 137 | if not is_safe_url(
|
139 |
| - url=redirect_to, allowed_hosts=[ |
140 |
| - self.request.get_host()]): |
| 138 | + url=redirect_to, allowed_hosts=[ |
| 139 | + self.request.get_host()]): |
141 | 140 | redirect_to = self.success_url
|
142 | 141 | return redirect_to
|
143 | 142 |
|
@@ -197,11 +196,8 @@ def post(self, request: HttpRequest):
|
197 | 196 | return HttpResponse("错误的邮箱")
|
198 | 197 | to_email = form.cleaned_data["email"]
|
199 | 198 |
|
200 |
| - code = email.generate_code() |
201 |
| - email.set_code(to_email, code) |
202 |
| - |
203 |
| - # 异步执行 |
204 |
| - t = threading.Thread(target=email.send, args=(to_email, code)) |
205 |
| - t.start() |
| 199 | + code = generate_code() |
| 200 | + utils.send_verify_email(to_email, code) |
| 201 | + utils.set_code(to_email, code) |
206 | 202 |
|
207 | 203 | return HttpResponse("ok")
|
0 commit comments