liangliangyy 7 years ago
parent 478719ce22
commit 9d41401509

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: blog_signals.py
@time: 2017/8/12 上午10:18

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: feed.py
@time: 2016/12/22 下午10:16

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: sitemap.py
@time: 2016/12/15 下午10:26

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: spider_notify.py
@time: 2017/1/15 下午1:41

@ -36,7 +36,7 @@ class DjangoBlogTest(TestCase):
import os
```
[url](https://www.lylinux.org/)
[url](https://www.lylinux.net/)
[ddd](http://www.baidu.com)

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: utils.py
@time: 2017/1/19 上午2:30

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: forms.py
@time: 2016/11/20 下午3:16

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: __init__.py
@time: 2016/11/2 下午9:15

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: urls.py
@time: 2016/11/20 下午3:52

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: user_login_backend.py
@time: 2017/2/17 下午8:45

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: context_processors.py
@time: 2016/11/6 下午4:23

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: forms.py
@time: 2017/1/7 上午12:36

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: clear_cache.py
@time: 2017/2/17 下午10:30

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: create_testdata.py
@time: 2017/3/11 上午1:58

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: ping_baidu.py
@time: 2017/1/17 下午15:29

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: middleware.py
@time: 2017/1/19 上午12:36

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: search_indexes.py
@time: 2017/1/7 上午12:44

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: __init__.py
@time: 2016/11/2 下午9:15

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: blog_tags.py
@time: 2016/11/2 下午11:10
@ -142,7 +142,6 @@ def load_sidebar(user, linktype):
dates = Article.objects.datetimes('created_time', 'month', order='DESC')
links = Links.objects.filter(is_enable=True).filter(Q(show_type=str(linktype)) | Q(show_type='a'))
commment_list = Comment.objects.filter(is_enable=True).order_by('-id')[:blogsetting.sidebar_comment_count]
# show_adsense = settings.SHOW_GOOGLE_ADSENSE
# 标签云 计算字体大小
# 根据总数计算出平均值 大小为 (数目/平均值)*步长
increment = 5
@ -151,8 +150,10 @@ def load_sidebar(user, linktype):
if tags and len(tags) > 0:
s = list(map(lambda t: (t, t.get_article_count()), tags))
count = sum(map(lambda t: t[1], s))
dd = 1 if count == 0 and not len(tags) else count / len(tags)
dd = 1 if (count == 0 and not len(tags)) else count / len(tags)
import random
sidebar_tags = list(map(lambda x: (x[0], x[1], (x[1] / dd) * increment + 10), s))
random.shuffle(sidebar_tags)
return {
'recent_articles': recent_articles,
@ -282,8 +283,6 @@ def gravatar_url(email, size=40):
return url
# return an image tag with the gravatar
# TEMPLATE USE: {{ email|gravatar:150 }}
@register.filter
def gravatar(email, size=40):
"""获得gravatar头像"""

@ -1,7 +1,7 @@
from django.test import Client, RequestFactory, TestCase
from blog.models import Article, Category, Tag, SideBar
from django.contrib.auth import get_user_model
from DjangoBlog.utils import get_current_site
from DjangoBlog.utils import get_current_site, get_md5
from blog.forms import BlogSearchForm
from django.core.paginator import Paginator
from blog.templatetags.blog_tags import load_pagination_info, load_articletags
@ -156,10 +156,13 @@ class ArticleTest(TestCase):
imagepath = os.path.join(settings.BASE_DIR, 'python.png')
with open(imagepath, 'wb') as file:
file.write(rsp.content)
rsp = self.client.post('/upload')
self.assertEqual(rsp.status_code, 403)
sign = get_md5(get_md5(settings.SECRET_KEY))
with open(imagepath, 'rb') as file:
imgfile = SimpleUploadedFile('python.png', file.read(), content_type='image/jpg')
form_data = {'python.png': imgfile}
rsp = self.client.post('/upload', form_data, follow=True)
rsp = self.client.post('/upload?sign=' + sign, form_data, follow=True)
self.assertEqual(rsp.status_code, 200)
from DjangoBlog.utils import save_user_avatar, send_email

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: urls.py
@time: 2016/11/2 下午7:15

@ -7,11 +7,10 @@ from django.views.generic.list import ListView
from django.views.generic.detail import DetailView
from django.conf import settings
from django import forms
from django.http import HttpResponse
from django.http import HttpResponseRedirect
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden
from django.views.decorators.csrf import csrf_exempt
from django.contrib.auth.decorators import login_required
from DjangoBlog.utils import cache
from DjangoBlog.utils import cache, get_md5, get_blog_setting
from django.shortcuts import get_object_or_404
from blog.models import Article, Category, Tag
from comments.forms import CommentForm
@ -233,16 +232,21 @@ class ArchivesView(ArticleListView):
@csrf_exempt
def fileupload(request):
if request.method == 'POST':
sign = request.GET.get('sign', None)
if not sign:
return HttpResponseForbidden()
if not sign == get_md5(get_md5(settings.SECRET_KEY)):
return HttpResponseForbidden()
response = []
for filename in request.FILES:
timestr = datetime.datetime.now().strftime('%Y/%m/%d')
imgextensions = ['jpg', 'png', 'jpeg', 'bmp']
fname = u''.join(str(filename))
isimage = len([i for i in imgextensions if fname.find(i) >= 0]) > 0
blogsetting = get_blog_setting()
basepath = r'/var/www/resource/{type}/{timestr}'.format(
type='files' if not isimage else 'image', timestr=timestr)
basepath = r'{basedir}/{type}/{timestr}'.format(basedir=blogsetting.resource_path,
type='files' if not isimage else 'image', timestr=timestr)
if settings.TESTING:
basepath = settings.BASE_DIR + '/uploads'
url = 'https://resource.lylinux.net/{type}/{timestr}/{filename}'.format(
@ -274,7 +278,6 @@ def refresh_memcache(request):
cache.clear()
return HttpResponse("ok")
else:
from django.http import HttpResponseForbidden
return HttpResponseForbidden()
except Exception as e:
logger.error(e)

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: forms.py
@time: 2016/11/12 下午2:45

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: __init__.py
@time: 2016/11/2 下午9:15

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: comments_tags.py
@time: 2016/11/2 下午9:17

@ -72,7 +72,7 @@ class CommentsTest(TestCase):
import os
```
[url](https://www.lylinux.org/)
[url](https://www.lylinux.net/)
[ddd](http://www.baidu.com)

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: urls.py
@time: 2016/11/12 下午3:03

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: forms.py
@time: 2017/3/7 下午8:58

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: oauthmanager.py
@time: 2016/11/26 下午5:09

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: __init__.py
@time: 2017/3/4 下午3:22

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: oauth_tags.py
@time: 2017/3/4 下午3:22

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: urls.py
@time: 2016/11/26 下午5:25

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: __init__.py.py
@time: 2017/8/27 上午11:40

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: blogapi.py
@time: 2017/8/27 上午11:40

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: commonapi.py
@time: 2017/9/2 上午1:43

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: MemcacheStorage.py
@time: 2017/8/27 上午2:42

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: robot.py
@time: 2017/8/27 上午1:55

@ -7,7 +7,7 @@
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@site: https://www.lylinux.net/
@software: PyCharm
@file: urls.py
@time: 2017/8/27 上午2:27

Loading…
Cancel
Save