淺談django的render函數(shù)的參數(shù)問題
hello.html 文件代碼如下:
HelloWorld/templates/hello.html 文件代碼: <h1>{{ hello }}</h1>
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" 對應(yīng)了模板中的變量 "{{ hello }}"。
一旦你創(chuàng)建一個 Template 對象,你可以用 context 來傳遞數(shù)據(jù)給它。 一個context 是一系列變量和它們值的集合。
context 在 Django 里表現(xiàn)為 Context 類,在 django.template 模塊里。它的構(gòu)造函數(shù)帶有一個可選的參數(shù): 一個字典映射變量和它們的值。 調(diào)用 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 來區(qū)分。 在框架中,Django 會一直使用 Unicode 對象而不是普通的字符串。 如果你明白這樣做給你帶來了多大便利的話,盡可能地感激 Django 在幕后有條不紊地為你所做這這么多工作吧。 如果不明白你從中獲益了什么,別擔(dān)心。你只需要知道 Django 對 Unicode 的支持,將讓你的應(yīng)用程序輕松地處理各式各樣的字符集,而不僅僅是基本的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.
此方法的作用---結(jié)合一個給定的模板和一個給定的上下文字典,并返回一個渲染后的 HttpResponse 對象。
通俗的講就是把context的內(nèi)容, 加載進templates中定義的文件, 并通過瀏覽器渲染呈現(xiàn).
參數(shù)講解:
request: 是一個固定參數(shù), 沒什么好講的。
template_name: templates 中定義的文件, 要注意路徑名. 比如'templates\polls\index.html', 參數(shù)就要寫‘polls\index.html'
context: 要傳入文件中用于渲染呈現(xiàn)的數(shù)據(jù), 默認(rèn)是字典格式
content_type: 生成的文檔要使用的MIME 類型。默認(rèn)為DEFAULT_CONTENT_TYPE 設(shè)置的值。
status: http的響應(yīng)代碼,默認(rèn)是200.
using: 用于加載模板使用的模板引擎的名稱。
以上這篇淺談django的render函數(shù)的參數(shù)問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python中PDB模塊中的命令來調(diào)試Python代碼的教程
這篇文章主要介紹了使用Python中PDB模塊中的命令來調(diào)試Python代碼的教程,包括設(shè)置斷點來修改代碼等、對于Python團隊項目工作有一定幫助,需要的朋友可以參考下2015-03-03PyTorch上實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法
本篇文章主要介紹了PyTorch上實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04詳解BeautifulSoup獲取特定標(biāo)簽下內(nèi)容的方法
這篇文章主要介紹了詳解BeautifulSoup獲取特定標(biāo)簽下內(nèi)容的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Django提示mysql版本過低:django.db.utils.NotSupportedError: My
這篇文章主要介紹了Django提示mysql版本過低:django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.26).的解決方法,文中有詳細(xì)的解決方案,具有一定的參考價值,需要的朋友可以參考下2024-03-03