【3.4】实现文章详情页的跳转

 

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('\n')
 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>

 

  

 

转载于:https://www.cnblogs.com/zydeboke/p/11451455.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值