1.设计文章详情页URL
/blog/detail => 不能指定某一篇博客
/blog/detail/1 => 指定唯一文章
/blog/detail/2 => 指定唯一文章
...
urls.py
1 path('detail/<int:article_id>', blog.views.get_detail_page),
2.完善视图函数逻辑
URL路径参数的获取和传递
1 def get_detail_page(requset, article_id): 2 all_article = Article.objects.all() 3 curr_article = None 4 for article in all_article: 5 if article.article_id == article_id: 6 curr_article = article 7 break 8 section_list = curr_article.content.split(' ') 9 return render(requset, 'blog/detail.html', 10 { 11 'curr_article': curr_article, 12 'section_list': section_list 13 })
3.实现首页的跳转
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Django入门</title> 6 <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> 7 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 8 <!-- 最新的 Bootstrap 核心 JavaScript 文件 --> 9 <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 10 </head> 11 <body> 12 <div class="container page-header"> 13 <h1>Django入门 14 <small>-- by zy </small> 15 </h1> 16 </div> 17 <div class="container page-body"> 18 <div class="col-md-9" role="main"> 19 <div class="body-main"> 20 {% for article in article_list %} 21 <div> 22 <h2><a href="/blog/detail/{{ article.article_id }}">{{ article.title }}</a></h2> 23 <p> 24 {{ article.brief_content }} 25 </p> 26 </div> 27 {% endfor %} 28 </div> 29 </div> 30 <div class="col-md-3" role="complementary "> 31 <div> 32 <h2>最新文章</h2> 33 {% for article in article_list %} 34 <h4><a href="/blog/detail/{{ article.article_id }}">{{ article.title }}</a></h4> 35 {% endfor %} 36 </div> 37 </div> 38 39 </div> 40 </body> 41 </html>