您好,登錄后才能下訂單哦!
hello.html 文件代碼如下:
HelloWorld/templates/hello.html 文件代碼: <h2>{{ hello }}</h2>
HelloWorld/HelloWorld/view.py 文件代碼:
# -*- coding: utf-8 -*- #from django.http import HttpResponse from django.shortcuts import render def hello(request): context = {} context['hello'] = 'Hello World!' return render(request, 'hello.html', context)
ontext 字典中元素的鍵值 "hello" 對應了模板中的變量 "{{ hello }}"。
一旦你創建一個 Template 對象,你可以用 context 來傳遞數據給它。 一個context 是一系列變量和它們值的集合。
context 在 Django 里表現為 Context 類,在 django.template 模塊里。它的構造函數帶有一個可選的參數: 一個字典映射變量和它們的值。 調用 Template 對象 的 render() 方法并傳遞 context 來填充模板:
>>> from django.template import Context, Template >>> t = Template('My name is {{ name }}.') >>> c = Context({'name': 'nowamagic'}) >>> t.render(c) u'My name is nowamagic.'
我們必須指出的一點是,t.render(c) 返回的值是一個 Unicode 對象,不是普通的 Python 字符串。 你可以通過字符串前的 u 來區分。 在框架中,Django 會一直使用 Unicode 對象而不是普通的字符串。 如果你明白這樣做給你帶來了多大便利的話,盡可能地感激 Django 在幕后有條不紊地為你所做這這么多工作吧。 如果不明白你從中獲益了什么,別擔心。你只需要知道 Django 對 Unicode 的支持,將讓你的應用程序輕松地處理各式各樣的字符集,而不僅僅是基本的A-Z英文字符。
from django.shortcuts import render
help文檔中描述如下:
render(request, template_name, context=None, content_type=None, status=None, using=None)
Returns a HttpResponse whose content is filled with the result of calling django.template.loader.render_to_string() with the passed arguments.
此方法的作用---結合一個給定的模板和一個給定的上下文字典,并返回一個渲染后的 HttpResponse 對象。
通俗的講就是把context的內容, 加載進templates中定義的文件, 并通過瀏覽器渲染呈現.
參數講解:
request: 是一個固定參數, 沒什么好講的。
template_name: templates 中定義的文件, 要注意路徑名. 比如'templates\polls\index.html', 參數就要寫‘polls\index.html'
context: 要傳入文件中用于渲染呈現的數據, 默認是字典格式
content_type: 生成的文檔要使用的MIME 類型。默認為DEFAULT_CONTENT_TYPE 設置的值。
status: http的響應代碼,默認是200.
using: 用于加載模板使用的模板引擎的名稱。
以上這篇淺談django的render函數的參數問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。