Django之文章归档
1.任务描述:将博文按照时间月份归档
2.源代码:
views.py
def getPage(request, article_list):
paginator = Paginator(article_list, 2)
try:
page = int(request.GET.get('page', 1))
article_list = paginator.page(page)
except (EmptyPage, InvalidPage, PageNotAnInteger):
article_list = paginator.page(1)
return article_list def archive(request):
try:
# 先获取客户端提交的信息
year = request.GET.get('year', None)
month = request.GET.get('month', None)
article_list = Article.objects.filter(date_publish__icontains=year+'-'+month)
article_list = getPage(request, article_list)
except Exception as e:
logger.error(e)
return render(request, 'archive.html', locals())
archive.html
{% extends 'base.html' %}
{% load staticfiles %}
{% block left_content %}
{% include 'ad.html' %}
<div class="topnews">
<h2>{{ request.GET.year }}/{{ request.GET.month }}文章归档</h2>
{% for article in article_list %}
<div class="blogs">
<ul>
<h3><a href="/">{{ article.title }}</a></h3>
<p>{{ article.desc }}</p>
<p class="autor"><span class="lm f_l">{% for tag in article.tag.all %}<a href="/">{{ tag.name }}</a>
</span>{% endfor %}<span
class="dtime f_l">{{ article.date_publish | date:'Y-m-d' }}</span><span class="viewnum f_r">浏览(<a
href="/">{{ article.click_count }}</a>)</span><span class="pingl f_r">评论(<a
href="/">{{ article.comment_set.all.count }}</a>)</span></p>
</ul>
</div>
{% endfor %}
</div>
{% include 'pagination.html' %}
{% endblock %}
urls.py
from django.conf.urls import url
from blog.views import * urlpatterns = [
url(r'^$', index, name='index'),
url(r'^archive/$', archive, name='archive'),
]
base.html
<div class="tuwen">
<h3>文章归档</h3>
<ul>
{% for archive in archive_list %}
<li>
<p><span class="tutime font-size-18"><a
href='{% url 'archive' %}?year={{ archive | slice:":4" }}&month={{ archive | slice:"5:7" }}'>{{ archive }}</a></span>
</p>
</li>
{% endfor %}
</ul>
</div>
3.操作流程
点击“文章归档”->2017/09文章归档,刷新左侧文章列表(指定月份的文章)
4.运行结果

Django之文章归档的更多相关文章
- Django 利用管理器实现文章归档
Django管理器:class Manager 管理器是Django的模型进行数据库查询的接口,Django应用的每个模型都拥有至少一个管理器.默认情况下,Django为每个模型类添加一个名为obje ...
- Django实现文章按年月归档、点赞和评论、发送邮件
文章归档的实现 我们在创建文章时,会在数据库中存储文章创建的时间这样的字段,一般用的都是datetime类型,记录文章创建的年月日和时分秒,所以我们直接使用文章的创建时间分类是无法实现文章的按年月归档 ...
- 解决wordpress文章归档和分类目录小工具标题重复问题
最近更新了wordpress,发现更新后小工具中的文章归档和分类目录出现了标题重复,经检查,是部分主题下,主题的代码已经输出了标题,而wordpress的代码又再次输出了一次.于是我们需要删除word ...
- typecho 文章归档调用
<style> div { display: block; } .title { position: relative; margin: 0; line-height: 32px; fon ...
- yanxin8文章归档
文章归档 - 2015年四月 (共21篇文章) 26日: 14443协议的CRC_A和CRC_B (0条评论) 25日: 百度钱包-1分钱5元话费 (0条评论) 22日: 驾照考试总结 (0条评论) ...
- Django 文章标签功能
使用第三方框架django-taggit为模型添加标签功能,此模块是一个可复用的应用 首先安装 https://github.com/alex/django-taggit 这是项目主页 pip ins ...
- 7 Django分页器文章分页
1.复习 2.这节课要解决的问题? 3.分页的原理 4.准备工作 (1)创建Django项目 C:\Users\Administrator\Desktop\root3>django-admin ...
- django 定义文章url
url(r'^firstcontent/'+str(date)+'/(?P<first_body_id>\d+)/$', views.firstcontent, name='firstco ...
- 解决 django 博客归档 “Are time zone definitions for your database and pytz installed?”的错误
修改 project 中的settings 文件,问题解决! # USE_TZ = True USE_TZ = False # LANGUAGE_CODE = 'en-us' LANGUAGE_COD ...
随机推荐
- JS错误记录 - To-do List
var data = (localStorage.getItem('todolist'))? JSON.parse(localStorage.getItem('todolist')) : { todo ...
- 【2017 Multi-University Training Contest - Team 6】Classes
[链接]http://acm.hdu.edu.cn/showproblem.php?pid=6106 [题意] 给出选 A,B,C,AB,AC,BC,ABC 课程的学生,其中 AB 是 A 和 B 都 ...
- 关于后台接收参数为null的问题之ajax--contentType
ajax方法中的参数: contentType:发送至服务器时内容的编码类型,一般默认:application/x-www-form-urlencoded(适应大多数的场合) dataType:预期服 ...
- 洛谷 P2908 [USACO08OPEN]文字的力量Word Power
P2908 [USACO08OPEN]文字的力量Word Power 题目描述 Farmer John wants to evaluate the quality of the names of hi ...
- Font Awesome 图标如何使用
Font Awesome 图标如何使用 一.总结 一句话总结:Font Awesome字体图标非常好用,直接引入font-awesome.css,然后就可以直接使用了,使用的时候是用的i标签. 1.字 ...
- Jedis源码分析
http://blog.csdn.net/luyee2010/article/details/17580381
- [D3] Animate Chart Axis Transitions in D3 v4
When the data being rendered by a chart changes, sometimes it necessitates a change to the scales an ...
- Altium Designer如何创建类,如何修改线宽
如果线宽还是没有改变,就是因为,有一个默认的class,它的规则优先级要高于PWR
- (转)使用qemu-img管理虚拟机磁盘镜像(创建虚拟机,虚拟机快照)
转自:http://blog.csdn.net/bravezhe/article/details/8461386 一台虚拟机的核心就是一个磁盘镜像,这个镜像可以理解成虚拟机的磁盘,里面有虚拟机的操作系 ...
- iCarousel——在iOS和Mac OS应用中实现3D CoverFlow旋转木马效果的开源类库
前言 iCarousel一个简单.可高度定制的3D CoverFlow开源类库,旨在简化在 iPhone, iPad和Mac OS中生成各种类型的cover flow(视图切换)效果(分页.滚动视图) ...