Django架構中render_to_response()函數的使用方法

來源:互聯網
上載者:User
通常的情況是,我們一般會載入一個模板檔案,然後用 Context渲染它,最後返回這個處理好的HttpResponse對象給使用者。 我們已經最佳化了方案,使用 get_template() 方法代替繁雜的用代碼來處理模板及其路徑的工作。 但這仍然需要一定量的時間來敲出這些簡化的代碼。 這是一個普遍存在的重複苦力勞動。Django為此提供了一個捷徑,讓你一次性地載入某個模板檔案,渲染它,然後將此作為 HttpResponse返回。

該捷徑就是位於 django.shortcuts 模組中名為 render_to_response() 的函數。大多數情況下,你會使用``\ ``````對象,除非你的老闆以程式碼數來衡量你的工作。

System Message: WARNING/2 (, line 1736); backlinkInline literal start-string without end-string.System Message: WARNING/2 (, line 1736); backlinkInline literal start-string without end-string.System Message: WARNING/2 (, line 1736); backlinkInline literal start-string without end-string.

下面就是使用 render_to_response() 重新編寫過的 current_datetime 範例。

from django.shortcuts import render_to_responseimport datetimedef current_datetime(request): now = datetime.datetime.now() return render_to_response('current_datetime.html', {'current_date': now})

大變樣了! 讓我們逐句看看代碼發生的變化:

我們不再需要匯入 get_template 、 Template 、 Context 和 HttpResponse 。相反,我們匯入 django.shortcuts.render_to_response 。 import datetime 繼續保留.

在 current_datetime 函數中,我們仍然進行 now 計算,但模板載入、上下文建立、模板解析和 HttpResponse 建立工作均在對 render_to_response() 的調用中完成了。 由於 render_to_response() 返回 HttpResponse 對象,因此我們僅需在視圖中 return 該值。

render_to_response() 的第一個參數必須是要使用的模板名稱。 如果要給定第二個參數,那麼該參數必須是為該模板建立 Context 時所使用的字典。 如果不提供第二個參數, render_to_response() 使用一個空字典。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.