Skip to content

Commit 87d51cc

Browse files
committed
[update]3.0
1 parent 3758ca6 commit 87d51cc

File tree

11 files changed

+711
-1271
lines changed

11 files changed

+711
-1271
lines changed

requirements.txt

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
Django==2.2.0
2-
Markdown==2.5.2
3-
Pygments==2.0.1
4-
pymysql==0.8.0
2+
Markdown==3.3
3+
PyMySQL==0.10.1

src/blog/templatetags/custom_filter.py

+12-59
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,10 @@
1212
"""
1313
__author__ = 'JHao'
1414

15-
import re
16-
# import markdown
15+
import markdown
1716
from django import template
18-
from django.template.defaultfilters import stringfilter
19-
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
2017
from django.utils.safestring import mark_safe
18+
from django.template.defaultfilters import stringfilter
2119

2220
register = template.Library()
2321

@@ -30,46 +28,16 @@ def slice_list(value, index):
3028
@register.filter(is_safe=True)
3129
@stringfilter
3230
def custom_markdown(value):
33-
# content = mark_safe(markdown.markdown(value, extensions=['markdown.extensions.fenced_code',
34-
# # 'markdown.extensions.codehilite',
35-
# 'markdown.extensions.tables'],
36-
# safe_mode=True, enable_attributes=False))
37-
#
38-
# # Prism 代码高亮查件 需要将所有的
39-
# # markdown转换的代码:<pre><code class="python">import *** </code></pre>
40-
# # 转换为
41-
# # <pre class="line-numbers"><code class="language-python">import *** </code></pre>
42-
# code_list = re.findall(r'<pre><code class="(.*)">', content, re.M)
43-
# for code in code_list:
44-
# content = re.sub(r'<pre><code class="(.*)">',
45-
# '<pre class="line-numbers"><code class="language-{code}">'.format(code=code.lower()), content,
46-
# 1)
47-
# content = re.sub(r'<pre>\s?<code>', '<pre class="line-numbers"><code class="language-python">', content)
48-
# return content
49-
return value
50-
51-
52-
@register.simple_tag(takes_context=True)
53-
def paginate(context, object_list, page_count):
54-
context['count'] = object_list.count
55-
paginator = Paginator(object_list, page_count)
56-
page = context['request'].GET.get('page')
57-
58-
try:
59-
object_list = paginator.page(page)
60-
context['current_page'] = int(page)
61-
62-
except PageNotAnInteger:
63-
object_list = paginator.page(1)
64-
context['current_page'] = 1
65-
except EmptyPage:
66-
object_list = paginator.page(paginator.num_pages)
67-
context['current_page'] = paginator.num_pages
68-
69-
context['article_list'] = object_list
70-
context['last_page'] = paginator.num_pages
71-
context['first_page'] = 1
72-
return '' # 必须加这个,否则首页会显示个None
31+
content = mark_safe(markdown.markdown(value,
32+
output_format='html5',
33+
extensions=[
34+
'markdown.extensions.extra',
35+
'markdown.extensions.fenced_code',
36+
'markdown.extensions.tables',
37+
],
38+
safe_mode=True,
39+
enable_attributes=False))
40+
return content
7341

7442

7543
@register.filter
@@ -82,20 +50,5 @@ def tag2string(value):
8250
return ','.join([each.get('tag_name', '') for each in value])
8351

8452

85-
@register.filter
86-
def getTag(value):
87-
"""
88-
展示一个tag
89-
:param value:
90-
:return:
91-
"""
92-
tag = ''
93-
for each in value:
94-
if each.get('tag_name'):
95-
tag = each.get("tag_name")
96-
break
97-
return tag
98-
99-
10053
if __name__ == '__main__':
10154
pass

src/blog/urls.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
path('archive/', views.archive, name='archive'),
2525
path('search/', views.search, name='search'),
2626
path('message/', views.message, name='message'),
27-
path('article/<int:article_id>/', views.articles, name='article'),
28-
path(r'^getComment/$', views.getComment, name='get_comment'),
27+
path('getComment/', views.get_comment, name='get_comment'),
2928

3029
]

src/blog/views.py

+4-26
Original file line numberDiff line numberDiff line change
@@ -85,33 +85,12 @@ def archive(request):
8585
return render(request, 'blog/archive.html', {"data": data})
8686

8787

88-
def articles(request, article_id):
89-
"""
90-
博客列表页面
91-
:param request:
92-
:param pk:
93-
:return:
94-
"""
95-
pk = int(article_id)
96-
if pk:
97-
category_object = get_object_or_404(Category, pk=pk)
98-
category = category_object.name
99-
article_list = Article.objects.filter(category_id=pk)
100-
else:
101-
# pk为0时表示全部
102-
article_list = Article.objects.all() # 获取全部文章
103-
category = u''
104-
return render(request, 'blog/articles.html', {"article_list": article_list,
105-
"category": category,
106-
})
107-
108-
10988
def message(request):
11089
return render(request, 'blog/message_board.html', {"source_id": "message"})
11190

11291

11392
@csrf_exempt
114-
def getComment(request):
93+
def get_comment(request):
11594
"""
11695
接收畅言的评论回推, post方式回推
11796
:param request:
@@ -140,10 +119,9 @@ def detail(request, pk):
140119
:param pk:
141120
:return:
142121
"""
143-
article = get_object_or_404(Article, pk=pk)
144-
article.viewed()
145-
return render(request, 'blog/detail.html', {"article": article,
146-
"source_id": article.id})
122+
blog = get_object_or_404(Article, pk=pk)
123+
blog.viewed()
124+
return render(request, 'blog/detail.html', {"blog": blog})
147125

148126

149127
def search(request):

src/django_blog/urls.py

-4
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,8 @@
1515
"""
1616
from django.urls import path, include
1717
from django.contrib import admin
18-
from blog import views
1918

2019
urlpatterns = [
2120
path('admin/', admin.site.urls),
2221
path('blog/', include(('blog.urls', 'blog'), namespace='blog')),
23-
# path(r'^blog/$', views.index, name='index'),
24-
# url(r'^$', views.index),
25-
2622
]

0 commit comments

Comments
 (0)