開始這一步之前我們先學習幾個模板語法
{% if 判斷條件 %} 判斷語法
{% for 每個元素 in 遍歷對象 %} 遍歷語法
{% endfor %} 結束遍歷
{% else %}
{% endif %} 結束判斷
我們可以用這些語法將我們上篇文章寫的兩個頁面變得更簡潔一點。改變之后如下

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Django學習</title> <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <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"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </head> <body> <div class="container page-header"> <h1>Django三小時入門 <small>——四點</small> </h1> </div> <div class="container page-body"> <div class="col-md-9" role="main"> <div class="body-main"> {% for article in article_list %} <div> <h2>{{ article.title }}</h2> <p>{{ article.abstract }}</p> </div> {% endfor %} </div> </div> <div class="col-md-3" role="complementary"> <div> <h2>最新文章</h2> {% for article in article_list %} <h4><a href="#">{{ article.title }}</a></h4> {% endfor %} </div> </div> </div> </body> </html>

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Django學習</title> <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <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"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </head> <body> <div class="container page-header"> <h1>{{ currentArticle.title }} <small>——{{ currentArticle.author }}</small> </h1> </div> <div class="container page-body"> <p>{{ currentArticle.content }}</p> </div> </body> </html>
可以看到優化之后的文件減少了很多,那么接下來就是頁面里的article_list變量和currentArticle變量怎么來的呢,請看下圖:
一個快捷函數: render()
載入模板,填充上下文,再返回由它生成的 HttpResponse
對」是一個非常常用的操作流程。於是 Django 提供了一個快捷函數,我們用它來重寫 index()
視圖:
這個函數需要三個參數,第一個參數固定 request , 第二個參數需要引入變量的HTML文件,第三個參數就是引入的變量
最后在配置好兩個函數的路由就可以訪問到數據了
