Разделитель может быть плохой идеей для некоторых языков, таких как иврит или японский. Попробуйте следующее:
// Array of Strings
let array: [String] = ["red", "green", "blue"]
let arrayAsString: String = array.description
let stringAsData = arrayAsString.data(using: String.Encoding.utf16)
let arrayBack: [String] = try! JSONDecoder().decode([String].self, from: stringAsData!)
Для других типов данных соответственно:
// Set of Doubles
let set: Set<Double> = [1, 2.0, 3]
let setAsString: String = set.description
let setStringAsData = setAsString.data(using: String.Encoding.utf16)
let setBack: Set<Double> = try! JSONDecoder().decode(Set<Double>.self, from: setStringAsData!)
Вы также можете объявить его безопасным HTML из кода:
from flask import Markup
value = Markup('<strong>The HTML String</strong>')
Затем передать это значение в шаблоны, и им не нужно |safe
его.
Из раздела jinja docs HTML Escaping :
Когда включено автоматическое экранирование, все экранируется по умолчанию, за исключением значений, явно помеченных как безопасных. Они могут быть отмечены приложением или шаблоном с помощью безопасного фильтра.
blockquote>Пример:
<div class="info"> {{data.email_content|safe}} </div>
userHome.html
, и я хотел бы использоватьreturn render_template('userHome.html')
, но он не отображается правильно, и все превращаются в html-сущности в моей хром-консоли. – Samoth 22 February 2017 в 10:15trans
это должно использоваться как{% trans something=something|safe %}A {{something}} B{% endtrans %}
– Kangur 26 March 2017 в 21:30