0
django中是否有模板標籤或解決方法在模板中製作ast.literal_eval(some_str)
?django中有沒有模板標籤可以製作ast.literal_eval?
shoud我創建一個新的模板標籤來做到這一點?在這種情況下,該模板標籤將如何?
爲什麼我問可以在這裏how to deserialize a python printed dictionary?
django中是否有模板標籤或解決方法在模板中製作ast.literal_eval(some_str)
?django中有沒有模板標籤可以製作ast.literal_eval?
shoud我創建一個新的模板標籤來做到這一點?在這種情況下,該模板標籤將如何?
爲什麼我問可以在這裏how to deserialize a python printed dictionary?
沒有
找到爲什麼會有這樣一個特定的標記,以及爲什麼它會被使用的原因是什麼?
您可以添加一個輕鬆
# file: literal_eval.py
import ast
def literal_eval(value):
return ast.literal_eval(value)
from django import template
register = template.Library()
register.filter('literal_eval', literal_eval)
,您可以在模板
{% load literal_eval %}
{{ some_str|literal_eval }}
現在導致問題使用這樣的「爲什麼?」你會用這個做什麼?
編輯:OP表示「他想反序列化一些保存爲varchar的python字典」,在這種情況下,模板不是執行它的地方,首先將文本轉換爲字典,然後將其傳遞給模板。
,更好地重新思考正在做什麼,節約字典repr
不是序列化的方式,並使用literal_eval
不是反序列類型的字典,使用json.dumps
或這樣的格式把詞典到數據庫,並使用json.loads
轉換的方式它回到字典。你也可以使用泡菜,但我不會推薦它。
問你的問題在我的問題 – jperelli
對不起,我說了一些愚蠢的:)這是原因:http://stackoverflow.com/questions/13165479/how-to-deserialize-a-python-printed-dictionary – jperelli
@ jperelli你不正確的做法,你不應該這樣做在模板 –