blog/views.py
from django.core.paginator import Paginator from django.http import HttpResponse from django.shortcuts import render from blog.models import Article def article_content(request): article = Article.objects.all()[0] article_id = article.article_id title = article.title brief_content = article.brief_content content = article.content publish_date = article.publish_date return_str = '文章ID:%s,標題:%s,摘要:%s,內容:%s,創建時間:%s。' \ % (article_id, title, brief_content, content, publish_date) return HttpResponse(return_str) def get_index_page(request): page = request.GET.get('page') if page: page = int(page) else: page = 1 all_article = Article.objects.all() top5_article_list = all_article.order_by('-article_id')[:5] paginator = Paginator(all_article, 2) num_pages = paginator.num_pages # 分頁數量 print('page num:', num_pages) page_article_list = paginator.page(page) if page_article_list.has_next(): next_page = page + 1 else: next_page = page if page_article_list.has_previous(): previous_page = page - 1 else: previous_page = page return render(request, 'index.html', { 'article_list': page_article_list, 'page_num': range(1, num_pages + 1), 'curr_page': page, 'next_page': next_page, 'previous_page': previous_page, 'top5_article_list': top5_article_list }) def get_detail_page(request, article_id): # all_article_detail = Article.objects.filter(article_id=article_id)[0] all_article_detail = Article.objects.all() curr_article = None previous_index = 0 previous_article = None next_index = 0 next_article = None for index, article in enumerate(all_article_detail): if index == 0: previous_index = 0 next_index = index + 1 elif index == len(all_article_detail) - 1: previous_index = index - 1 next_index = index else: previous_index = index - 1 next_index = index + 1 if article.article_id == article_id: curr_article = article previous_article = all_article_detail[previous_index] next_article = all_article_detail[next_index] break # section_list = curr_article.content.split('\n') section_list = curr_article.content.split('\n') return render(request, 'detail.html', { 'article_detail': curr_article, 'section_list': section_list, 'previous_article': previous_article, 'next_article': next_article, })
GitHub:https://github.com/lgsp-Leslie/django_blog
Python:3.6
數據庫:sqlite3
Django:2.2.17
後臺賬號密碼:admin/123456
效果圖:自行運行代碼查看或自行幻想....