django的render的特殊用法

2022-07-17 09:21:13 字數 782 閱讀 1088

以前都是將模板渲染好, 傳輸到前端, 但是現在前後端分離了, 模板渲染引擎還有用, 而且很好用.

比如在渲染乙個**的時候, 每一行都有兩個操作按鈕, 並且這個按鈕上是有a標籤的

你可以使用字串拼接去構造這兩個a標籤, 但是可能還有更好的方法

模板引擎本身就是對字串的替換, django提供了將渲染的功能抽離出來

我在之前在專案中使用時候結合了序列化器的自定義字段, 就是在自定義欄位中使用了模板引擎

from django.template import

loader

from rest_framework import

fields

class

operationfield(fields.field):

defto_representation(self, value):

"""該自定義欄位被序列化時這個方法會被呼叫

:param value:

:return:

"""return loader.render_to_string("

questionnaire/operation.html

", )

#將模板中html**渲染成字串, 和在檢視函式中的使用方法一致

defto_internal_value(self, data):

print("

to_internal_value

", data)

return data

這樣在序列化器中拿到的資料就渲染好的字串

django的render的說明

return render request,homesite.html locals homesite.html頁面中的所有內容都可以被渲染,不論是標籤還是js 包括homesite.html所繼承的母板也是可以被渲染的,但是link引入的css或script引入的js,是不能被渲染的,如 scri...

Django的模板渲染 render 機制

一旦你建立乙個 template 物件,你可以用 context 來傳遞資料給它。乙個context 是一系列變數和它們值的集合。context 在 django 裡表現為 context 類,在 django.template 模組裡。它的建構函式帶有乙個可選的引數 乙個字典對映變數和它們的值。呼...

django 關於render的返回資料

1,問題 通過ajax 傳送請求,接受render返回的資料。到底是什麼樣的型別呢?def text request v reverse test print v return render request,myblog shuige.html 首先 render是一種渲染,返回的render是 模...