From d9a3b2953452f5359909790d635858c97d094474 Mon Sep 17 00:00:00 2001 From: liangliang Date: Sat, 20 May 2017 10:57:54 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=B8=BA=E4=B8=8A=E4=BC=A0=E7=9A=84?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E6=96=87=E4=BB=B6=E8=87=AA=E5=8A=A8=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog/templatetags/blog_tags.py | 4 ++-- blog/views.py | 26 ++++++++++++++++++-------- templates/share_layout/base.html | 19 +------------------ 3 files changed, 21 insertions(+), 28 deletions(-) diff --git a/blog/templatetags/blog_tags.py b/blog/templatetags/blog_tags.py index c0e4775..c9bf164 100644 --- a/blog/templatetags/blog_tags.py +++ b/blog/templatetags/blog_tags.py @@ -130,14 +130,14 @@ def load_sidebar(user): show_adsense = settings.SHOW_GOOGLE_ADSENSE # 标签云 计算字体大小 # 根据总数计算出平均值 大小为 (数目/平均值)*步长 - increment = 10 + increment = 5 tags = Tag.objects.all() sidebar_tags = None if tags: s = list(map(lambda t: (t, t.get_article_count()), tags)) count = sum(map(lambda t: t[1], s)) dd = count / len(tags) - sidebar_tags = list(map(lambda x: (x[0], x[1], (x[1] / dd) * increment), s)) + sidebar_tags = list(map(lambda x: (x[0], x[1], (x[1] / dd) * increment + 10), s)) return { 'recent_articles': recent_articles, diff --git a/blog/views.py b/blog/views.py index b5bbd68..d598402 100644 --- a/blog/views.py +++ b/blog/views.py @@ -209,19 +209,29 @@ class TagDetailView(ArticleListView): @csrf_exempt def fileupload(request): if request.method == 'POST': - fname = '' - timestr = datetime.datetime.now().strftime('%Y/%m/%d') - basepath = os.path.join(r'/var/www/resource/image/', timestr) - if not os.path.exists(basepath): - os.makedirs(basepath) - fname = '' + response = [] for filename in request.FILES: - fname = filename + 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 + basepath = os.path.join(r'/Users/liangliang/resource/' + 'files' if not isimage else'image' + '/', + timestr) + url = 'https://resource.lylinux.net/{type}/{timestr}/{filename}'.format( + type='files' if not isimage else'image', timestr=timestr, filename=filename) + if not os.path.exists(basepath): + os.makedirs(basepath) savepath = os.path.join(basepath, filename) with open(savepath, 'wb+') as wfile: for chunk in request.FILES[filename].chunks(): wfile.write(chunk) - return HttpResponse('https://resource.lylinux.net/' + 'image/' + timestr + '/' + fname) + if isimage: + from PIL import Image + image = Image.open(savepath) + image.save(savepath, quality=20, optimize=True) + response.append(url) + return HttpResponse(response) else: return HttpResponse("only for post") diff --git a/templates/share_layout/base.html b/templates/share_layout/base.html index 850b452..17cfcd6 100644 --- a/templates/share_layout/base.html +++ b/templates/share_layout/base.html @@ -36,15 +36,12 @@ {% comment %}{% endcomment %} + {% block compress_css %} {% endblock %} {% endcompress %} - {% comment %} - {% endcomment %} - @@ -74,23 +71,9 @@ {% include 'share_layout/footer.html' %} -{% comment %} -
-
-
-
- - - -{% endcomment %} -{% comment %}{% endcomment %}