django的render的特殊用法


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

比如在渲染一個表格的時候, 每一行都有兩個操作按鈕, 並且這個按鈕上是有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

這樣在序列化器中拿到的數據就渲染好的字符串


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM