Skip to content

Commit eeb42e2

Browse files
committed
部分代码结构调整
1 parent 4928052 commit eeb42e2

File tree

8 files changed

+62
-113
lines changed

8 files changed

+62
-113
lines changed

DjangoBlog/utils.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,21 @@
22
# encoding: utf-8
33

44

5-
"""
6-
@version: ??
7-
@author: liangliangyy
8-
@license: MIT Licence
9-
10-
@site: https://www.lylinux.net/
11-
@software: PyCharm
12-
@file: utils.py
13-
@time: 2017/1/19 上午2:30
14-
"""
15-
from django.core.cache import cache
16-
from django.contrib.sites.models import Site
5+
import logging
6+
import os
7+
import random
8+
import string
9+
import uuid
1710
from hashlib import sha256
11+
1812
import mistune
13+
import requests
14+
from django.contrib.sites.models import Site
15+
from django.core.cache import cache
1916
from mistune import escape, escape_link
2017
from pygments import highlight
21-
from pygments.lexers import get_lexer_by_name
2218
from pygments.formatters import html
23-
import logging
24-
import requests
25-
import uuid
26-
import os
19+
from pygments.lexers import get_lexer_by_name
2720

2821
logger = logging.getLogger(__name__)
2922

@@ -187,6 +180,11 @@ def send_email(emailto, title, content):
187180
content=content)
188181

189182

183+
def generate_code() -> str:
184+
"""生成随机数验证码"""
185+
return ''.join(random.sample(string.digits, 6))
186+
187+
190188
def parse_dict_to_url(dict):
191189
from urllib.parse import quote
192190
url = '&'.join(['{}={}'.format(quote(k, safe='/'), quote(v, safe='/'))

accounts/forms.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
@time: 2016/11/20 下午3:16
1414
"""
1515
from django import forms
16-
from django.forms import widgets
17-
from django.core.exceptions import ValidationError
1816
from django.contrib.auth import get_user_model, password_validation
1917
from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
18+
from django.core.exceptions import ValidationError
19+
from django.forms import widgets
2020

21-
from . import email
21+
from . import utils
2222
from .models import BlogUser
2323

2424

@@ -116,7 +116,7 @@ def clean_email(self):
116116

117117
def clean_code(self):
118118
code = self.cleaned_data.get("code")
119-
error = email.verify(
119+
error = utils.verify(
120120
email=self.cleaned_data.get("email"),
121121
code=code,
122122
)

accounts/tests.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
from django.urls import reverse
21
from django.conf import settings
3-
from django.utils import timezone
42
from django.test import Client, RequestFactory, TestCase
3+
from django.urls import reverse
4+
from django.utils import timezone
55

6-
from accounts.models import BlogUser
76
from DjangoBlog.utils import *
7+
from accounts.models import BlogUser
88
from blog.models import Article, Category
9-
from . import email
9+
from . import utils
1010

1111

1212
# Create your tests here.
@@ -120,14 +120,14 @@ def test_validate_register(self):
120120

121121
def test_verify_email_code(self):
122122
to_email = "[email protected]"
123-
code = email.generate_code()
124-
email.set_code(to_email, code)
125-
email.send(to_email, code)
123+
code = generate_code()
124+
utils.set_code(to_email, code)
125+
utils.send_verify_email(to_email, code)
126126

127-
err = email.verify("[email protected]", code)
127+
err = utils.verify("[email protected]", code)
128128
self.assertEqual(err, None)
129129

130-
err = email.verify("[email protected]", code)
130+
err = utils.verify("[email protected]", code)
131131
self.assertEqual(type(err), str)
132132

133133
def test_forget_password_email_code_success(self):
@@ -153,8 +153,8 @@ def test_forget_password_email_code_fail(self):
153153
self.assertEqual(resp.content.decode("utf-8"), "错误的邮箱")
154154

155155
def test_forget_password_email_success(self):
156-
code = email.generate_code()
157-
email.set_code(self.blog_user.email, code)
156+
code = generate_code()
157+
utils.set_code(self.blog_user.email, code)
158158
data = dict(
159159
new_password1=self.new_test,
160160
new_password2=self.new_test,
@@ -195,8 +195,8 @@ def test_forget_password_email_not_user(self):
195195
)
196196

197197
def test_forget_password_email_code_error(self):
198-
code = email.generate_code()
199-
email.set_code(self.blog_user.email, code)
198+
code = generate_code()
199+
utils.set_code(self.blog_user.email, code)
200200
data = dict(
201201
new_password1=self.new_test,
202202
new_password2=self.new_test,

accounts/email.py renamed to accounts/utils.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
import typing
2-
import random
3-
import string
42
from datetime import timedelta
53

64
from django.core.cache import cache
5+
76
from DjangoBlog.utils import send_email
87

98
_code_ttl = timedelta(minutes=5)
109

1110

12-
def generate_code() -> str:
13-
"""生成随机数验证码"""
14-
return ''.join(random.sample(string.digits, 6))
15-
16-
17-
def send(to_mail: str, code: str, subject: str = "邮件验证码"):
11+
def send_verify_email(to_mail: str, code: str, subject: str = "邮件验证码"):
1812
"""发送重设密码验证码
1913
Args:
2014
to_mail: 接受邮箱

accounts/views.py

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
11
import logging
2-
import threading
32

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
411
from django.http.request import HttpRequest
512
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
1013
from django.shortcuts import get_object_or_404
11-
from django.http import HttpResponseRedirect, HttpResponseForbidden
14+
from django.shortcuts import render
1215
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
1816
from django.utils.decorators import method_decorator
19-
from django.views.decorators.debug import sensitive_post_parameters
2017
from django.utils.http import is_safe_url
21-
from django.conf import settings
2218
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
2423

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
2626
from .forms import RegisterForm, LoginForm, ForgetPasswordForm, ForgetPasswordCodeForm
27-
from . import email
2827
from .models import BlogUser
2928

3029
logger = logging.getLogger(__name__)
@@ -69,7 +68,7 @@ def form_valid(self, form):
6968
content=content)
7069

7170
url = reverse('accounts:result') + \
72-
'?type=register&id=' + str(user.id)
71+
'?type=register&id=' + str(user.id)
7372
return HttpResponseRedirect(url)
7473
else:
7574
return self.render_to_response({
@@ -136,8 +135,8 @@ def get_success_url(self):
136135

137136
redirect_to = self.request.POST.get(self.redirect_field_name)
138137
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()]):
141140
redirect_to = self.success_url
142141
return redirect_to
143142

@@ -197,11 +196,8 @@ def post(self, request: HttpRequest):
197196
return HttpResponse("错误的邮箱")
198197
to_email = form.cleaned_data["email"]
199198

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)
206202

207203
return HttpResponse("ok")

servermanager/api/__init__.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1 @@
1-
#!/usr/bin/env python
2-
# encoding: utf-8
31

4-
5-
"""
6-
@version: ??
7-
@author: liangliangyy
8-
@license: MIT Licence
9-
10-
@site: https://www.lylinux.net/
11-
@software: PyCharm
12-
@file: __init__.py.py
13-
@time: 2017/8/27 上午11:40
14-
"""

servermanager/api/blogapi.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
1-
#!/usr/bin/env python
2-
# encoding: utf-8
1+
from haystack.query import SearchQuerySet
32

4-
5-
"""
6-
@version: ??
7-
@author: liangliangyy
8-
@license: MIT Licence
9-
10-
@site: https://www.lylinux.net/
11-
@software: PyCharm
12-
@file: blogapi.py
13-
@time: 2017/8/27 上午11:40
14-
"""
15-
from blog.models import Article, Category, Tag
16-
from haystack.query import EmptySearchQuerySet, SearchQuerySet
3+
from blog.models import Article, Category
174

185

196
class BlogApi():

servermanager/api/commonapi.py

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,17 @@
1-
#!/usr/bin/env python
2-
# encoding: utf-8
3-
4-
5-
"""
6-
@version: ??
7-
@author: liangliangyy
8-
@license: MIT Licence
9-
10-
@site: https://www.lylinux.net/
11-
@software: PyCharm
12-
@file: commonapi.py
13-
@time: 2017/9/2 上午1:43
14-
"""
15-
import requests
161
import json
172
import logging
183

4+
import requests
5+
196
logger = logging.getLogger(__name__)
207

218

22-
class TuLing():
9+
class TuLing:
2310
def __init__(self):
2411
self.__key__ = '2f1446eb0321804291b0a1e217c25bb5'
2512
self.__appid__ = 137762
2613

27-
def __build_req_url(self, content):
14+
def _build_req_url(self, content):
2815
return 'http://www.tuling123.com/openapi/api?key=%s&info=%s&userid=%s' % (
2916
self.__key__, content, self.__appid__)
3017

@@ -34,7 +21,7 @@ def UserAgent(self, url):
3421

3522
def getdata(self, content):
3623
try:
37-
requrl = self.__build_req_url(content)
24+
requrl = self._build_req_url(content)
3825
res = self.UserAgent(requrl).decode('utf-8')
3926

4027
jsons = json.loads(res, encoding='utf-8')

0 commit comments

Comments
 (0)