From 28b7a20c1150fe2a62d6db133f96019e4078098d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BD=A6=E4=BA=AE=E4=BA=AE?= Date: Tue, 29 Nov 2016 22:15:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=88=86=E9=A1=B5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DjangoBlog/settings.py | 9 ++++++--- blog/urls.py | 2 +- blog/views.py | 9 ++++++--- favicon.ico | Bin 0 -> 3181 bytes templates/blog/index.html | 24 ++++++++++++++++-------- 5 files changed, 29 insertions(+), 15 deletions(-) create mode 100644 favicon.ico diff --git a/DjangoBlog/settings.py b/DjangoBlog/settings.py index 5798746..cb25d96 100644 --- a/DjangoBlog/settings.py +++ b/DjangoBlog/settings.py @@ -155,6 +155,9 @@ SIDEBAR_ARTICLE_COUNT = 10 # 侧边栏评论数目 SIDEBAR_COMMENT_COUNT = 5 +# 分页 +PAGINATE_BY = 10 + # cache setting """ CACHES = { @@ -167,8 +170,8 @@ CACHES = { OAHUTH = { 'sina': { - 'appkey':'3161614143', - 'appsecret':'ee17c099317f872eeddb25204ea46721', - 'callbackurl':'http://blog.lylinux.org/oauth/weibo' + 'appkey': '3161614143', + 'appsecret': 'ee17c099317f872eeddb25204ea46721', + 'callbackurl': 'http://blog.lylinux.org/oauth/weibo' } } diff --git a/blog/urls.py b/blog/urls.py index 9953d9a..f383264 100644 --- a/blog/urls.py +++ b/blog/urls.py @@ -21,7 +21,7 @@ urlpatterns = [ # url(r'^$', cache_page(60 * 15)(views.IndexView.as_view()), name='index'), url(r'^$', views.IndexView.as_view(), name='index'), # url(r'^article/(?P\d+)$', views.ArticleDetailView.as_view(), name='detail'), - + url(r'^page/(?P\d+)$', views.IndexView.as_view(), name='index_page'), url(r'(?P\d+)/(?P\d+)/(?P\d+)/(?P\d+)-(?P\S+).html$', views.ArticleDetailView.as_view(), name='detail'), diff --git a/blog/views.py b/blog/views.py index 4a347c1..391515b 100644 --- a/blog/views.py +++ b/blog/views.py @@ -7,12 +7,13 @@ from django.views.generic import UpdateView from django.views.generic.edit import CreateView, FormView from django.views.generic.dates import YearArchiveView, MonthArchiveView from blog.models import Article, Category, Tag - +from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage from django.core.exceptions import ObjectDoesNotExist from comments.forms import CommentForm - +from django.conf import settings from django import forms + class ArticleListView(ListView): # template_name属性用于指定使用哪个模板进行渲染 template_name = 'blog/index.html' @@ -22,10 +23,13 @@ class ArticleListView(ListView): # 页面类型,分类目录或标签列表等 page_type = '' + paginate_by = settings.PAGINATE_BY + page_kwarg = 'page' class IndexView(ArticleListView): def get_queryset(self): + article_list = Article.objects.filter(status='p') # for article in article_list: @@ -59,7 +63,6 @@ class ArticleDetailView(DetailView): comment_form = CommentForm() if self.request.user.is_authenticated(): - comment_form.fields.update({ 'email': forms.CharField(widget=forms.HiddenInput()), 'name': forms.CharField(widget=forms.HiddenInput()), diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4e5593b39c4613ad660dade75a12af509b0d17a5 GIT binary patch literal 3181 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 Td2S!>00000NkvXXu0mjftA-Ia literal 0 HcmV?d00001 diff --git a/templates/blog/index.html b/templates/blog/index.html index 3e7580f..7c95aff 100644 --- a/templates/blog/index.html +++ b/templates/blog/index.html @@ -14,15 +14,23 @@ {% for article in article_list %} {% load_article_detail article True %} {% endfor %} + {% if is_paginated %} + - - - + {% endif %} {% endblock %}