以前都是將模板渲染好, 傳輸到前端, 但是現在前后端分離了, 模板渲染引擎還有用, 而且很好用.
比如在渲染一個表格的時候, 每一行都有兩個操作按鈕, 並且這個按鈕上是有a標簽的
你可以使用字符串拼接去構造這兩個a標簽, 但是可能還有更好的方法
模板引擎本身就是對字符串的替換, django提供了將渲染的功能抽離出來
我在之前在項目中使用時候結合了序列化器的自定義字段, 就是在自定義字段中使用了模板引擎
from django.template import loader from rest_framework import fields class OperationField(fields.Field): def to_representation(self, value): """ 該自定義字段被序列化時這個方法會被調用 :param value: :return: """ return loader.render_to_string("questionnaire/operation.html", {"pk": value}) # 將模板中HTML代碼渲染成字符串, 和在視圖函數中的使用方法一致 def to_internal_value(self, data): print("to_internal_value", data) return data
這樣在序列化器中拿到的數據就渲染好的字符串