Django框架學習----視圖與模板(顯示數據庫數據到頁面)


開始這一步之前我們先學習幾個模板語法

 

 

 

{% 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文件,第三個參數就是引入的變量

最后在配置好兩個函數的路由就可以訪問到數據了

 

 

 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM