From 66277808838daa62ef5b9db56b6e9135d90f7e66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BD=A6=E4=BA=AE=E4=BA=AE?= Date: Tue, 8 Nov 2016 21:08:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DjangoBlog/settings.py | 26 +++++-- blog/templatetags/blog_tags.py | 27 ++++++- blog/urls.py | 3 +- templates/blog/articledetail.html | 8 +- .../{categorytree.html => breadcrumb.html} | 0 templates/blog/index.html | 74 ++++++++++--------- templates/blog/sidebar.html | 62 ++++++++++++++++ 7 files changed, 154 insertions(+), 46 deletions(-) rename templates/blog/{categorytree.html => breadcrumb.html} (100%) create mode 100755 templates/blog/sidebar.html diff --git a/DjangoBlog/settings.py b/DjangoBlog/settings.py index d93d1a0..48fed1b 100644 --- a/DjangoBlog/settings.py +++ b/DjangoBlog/settings.py @@ -41,14 +41,17 @@ INSTALLED_APPS = [ ] -MIDDLEWARE = [ +MIDDLEWARE_CLASSES = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + #'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.common.CommonMiddleware', + #'django.middleware.cache.FetchFromCacheMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + ] ROOT_URLCONF = 'DjangoBlog.urls' @@ -65,7 +68,7 @@ TEMPLATES = [ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', - 'blog.context_processors.seo_processor', + 'blog.context_processors.seo_processor' ], }, }, @@ -82,7 +85,7 @@ DATABASES = { 'NAME': 'djangoblog', 'USER': 'root', 'PASSWORD': 'root', - 'HOST': '192.168.33.10', + 'HOST': '192.168.21.130', 'PORT': 3306, } } @@ -127,13 +130,26 @@ STATICFILES = os.path.join(BASE_DIR, 'static') AUTH_USER_MODEL = 'accounts.BlogUser' TIME_FORMAT = '%Y-%m-%d %H:%M:%S' -DATE_TIME_FORMAT = '%Y-%m-%d %H:%M:%S' +DATE_TIME_FORMAT = '%Y-%m-%d' SITE_NAME = 'Django Blog' SITE_DESCRIPTION = '大巧无工,重剑无锋.' ARTICLE_SUB_LENGTH = 300 -#bootstrap颜色样式 +# bootstrap颜色样式 BOOTSTRAP_COLOR_TYPES = [ 'default', 'primary', 'success', 'info', 'warning', 'danger' ] + +# 侧边栏文章数目 +SIDEBAR_ARTICLE_COUNT = 10 + +# cache setting +""" +CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', + 'LOCATION': '192.168.21.130:11211', + } +} +""" \ No newline at end of file diff --git a/blog/templatetags/blog_tags.py b/blog/templatetags/blog_tags.py index 9103756..560372d 100644 --- a/blog/templatetags/blog_tags.py +++ b/blog/templatetags/blog_tags.py @@ -19,6 +19,7 @@ import markdown from django.template.defaultfilters import stringfilter from django.utils.safestring import mark_safe import random +from blog.models import Article, Category, Tag register = template.Library() @@ -33,6 +34,14 @@ def timeformat(data): return "" +@register.simple_tag +def datetimeformat(data): + try: + return data.strftime(settings.DATE_TIME_FORMAT) + except: + return "" + + @register.filter(is_safe=True) @stringfilter def custom_markdown(content): @@ -43,7 +52,7 @@ def custom_markdown(content): safe_mode=True, enable_attributes=False)) -@register.inclusion_tag('blog/categorytree.html') +@register.inclusion_tag('blog/breadcrumb.html') def parsecategoryname(article): names = article.get_category_tree() @@ -68,6 +77,22 @@ def loadarticletags(article): } +@register.inclusion_tag('blog/sidebar.html') +def loadsidebartags(): + recent_articles = Article.objects.filter(status='p')[:settings.SIDEBAR_ARTICLE_COUNT] + sidebar_categorys = Category.objects.all() + most_read_articles = Article.objects.filter(status='p').order_by('-views')[:settings.SIDEBAR_ARTICLE_COUNT] + dates = Article.objects.datetimes('created_time', 'month', order='DESC') + print(dates) + # tags= + return { + 'recent_articles': recent_articles, + 'sidebar_categorys': sidebar_categorys, + 'most_read_articles': most_read_articles, + 'article_dates': dates + } + + """ @register.tag def parseCategoryName(parser,token): diff --git a/blog/urls.py b/blog/urls.py index bba5928..709313a 100644 --- a/blog/urls.py +++ b/blog/urls.py @@ -14,10 +14,11 @@ """ from django.conf.urls import url - +from django.views.decorators.cache import cache_page from . import views 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'^category/(?P\w+)$', views.CategoryDetailView.as_view(), name='category_detail'), diff --git a/templates/blog/articledetail.html b/templates/blog/articledetail.html index 9f67de2..a4cf619 100644 --- a/templates/blog/articledetail.html +++ b/templates/blog/articledetail.html @@ -68,8 +68,10 @@ - -
+ {% block sidebar %} + {% loadsidebartags %} + {% endblock %} + {% comment %}
-
+
{% endcomment %} {% endblock %} \ No newline at end of file diff --git a/templates/blog/categorytree.html b/templates/blog/breadcrumb.html similarity index 100% rename from templates/blog/categorytree.html rename to templates/blog/breadcrumb.html diff --git a/templates/blog/index.html b/templates/blog/index.html index ca9ce68..c338a47 100644 --- a/templates/blog/index.html +++ b/templates/blog/index.html @@ -14,7 +14,6 @@ {% endif %}
- {% for article in article_list %}
@@ -30,8 +29,8 @@ by {{ article.author }} {{ article.views }} views

+ {{ article.summary|custom_markdown }} - {{ article.summary|custom_markdown }}

Read more @@ -87,39 +86,42 @@

- - - + {% block sidebar %} + {% loadsidebartags %} + {% endblock %} + {% comment %} {% block sidebar %} +
+ + + +
+ {% endblock %}{% endcomment %}
{% endblock %} \ No newline at end of file diff --git a/templates/blog/sidebar.html b/templates/blog/sidebar.html new file mode 100755 index 0000000..5c3b479 --- /dev/null +++ b/templates/blog/sidebar.html @@ -0,0 +1,62 @@ +
+ {% load blog_tags %} + + + + + + + + + + {% comment %} {% endcomment %} + +
\ No newline at end of file