上下篇部落格,按月歸檔

2022-09-06 08:36:10 字數 1514 閱讀 2514

def blog_detail(request, blog_pk):

context = {}

blog = get_object_or_404(blog, pk=blog_pk)

context['previous_blog'] = blog.objects.filter(created_time__gt=blog.created_time).last()

context['next_blog'] = blog.objects.filter(created_time__lt=blog.created_time).first()

context['blog'] =blog

return render(request, 'blog/blog_detail.html', context)

通過filter篩選條件查詢出符合的部落格,查詢出的結果是queryset和列表看起來一樣,last()取到最後一篇。大於:__gt,大於等於:__gte,小於:__lt,小於等於:__lte,

包含:__contains(加i忽略大小寫),開頭是:__startswith,結尾是:__endswith,其中之一:__in,範圍:__range。exclude排除條件,與filter相反。

條件中的雙下劃線:字段查詢型別、外來鍵拓展、日期拓展、支援鏈式查詢

在前端頁面展示:

沒有了沒有了

2.按月歸檔django

dates(field,kind,order='asc')

field欄位,kind型別,order排序

返回乙個queryset

context['blog_dates'] = blog.objects.dates('created_time', 'month', order='desc')

根據部落格建立時間的不同年份不同月份,返回日期列表 如果在10月的不同日期都建立了,只會返回10.1日。

def blogs_with_date(request,year, month):

blogs_all_list = blog.objects.filter(created_time__year=year,created_time__month=month)

根據前端傳過來的年月篩選出所有部落格

context['blogs_with_date'] = '%s年%s月' % (year,month)

給前端傳入年月

urlpatterns = [

path('',views.blog_list,name='blog_list'),

path('/', views.blog_detail, name='blog_detail'),

path('type//', views.blogs_with_type, name='blogs_with_type'),

path('date//', views.blogs_with_date, name='blogs_with_date'),

]url設定路由的格式。

mysql按月歸檔日誌表

由於日誌表越來越大,資料將近1億,查資料非常慢,因此使用事件每月28日呼叫儲存過程自動建立歸檔表,將上月資料按照create time欄位和id欄位插入歸檔表並刪除原表相應資料。delimiter create definer root localhost procedure clear log b...

查詢文章的上下篇Sql語句

本來覺得這個查詢不用大動干戈的洋洋灑灑寫一篇文章的 不過看到不少人在這栽跟頭 還是簡單總結下吧 那麼查詢上下篇的sql語句應該怎麼寫呢 示例資料表 bjy article 自增主鍵 id 肯定會有童鞋是說,這簡單啊id 1和id 1不就ok了 sql無非如下 寫出這2句sql後 大部分人稍加思索就會...

爬蟲練習 CSDN部落格歸檔

獲取指定網頁的頁面資訊 headers try 如果響應的狀態碼為404並不會丟擲一場,那麼如何讓處理?response requests.get url,headers headers response.raise for status 如果返回的狀態碼不是200,那麼丟擲異常 except ex...