⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.32
Server IP:
15.204.235.159
Server:
Linux srv.techlup.co.ke 4.18.0-553.5.1.el8_10.x86_64 #1 SMP Wed Jun 5 09:12:13 EDT 2024 x86_64
Server Software:
Apache
PHP Version:
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
python3-jinja2
/
html
/
_sources
/
View File Name :
nativetypes.rst.txt
.. module:: jinja2.nativetypes .. _nativetypes: Native Python Types =================== The default :class:`~jinja2.Environment` renders templates to strings. With :class:`NativeEnvironment`, rendering a template produces a native Python type. This is useful if you are using Jinja outside the context of creating text files. For example, your code may have an intermediate step where users may use templates to define values that will then be passed to a traditional string environment. Examples -------- Adding two values results in an integer, not a string with a number: >>> env = NativeEnvironment() >>> t = env.from_string('{{ x + y }}') >>> result = t.render(x=4, y=2) >>> print(result) 6 >>> print(type(result)) int Rendering list syntax produces a list: >>> t = env.from_string('[{% for item in data %}{{ item + 1 }},{% endfor %}]') >>> result = t.render(data=range(5)) >>> print(result) [1, 2, 3, 4, 5] >>> print(type(result)) list Rendering something that doesn't look like a Python literal produces a string: >>> t = env.from_string('{{ x }} * {{ y }}') >>> result = t.render(x=4, y=2) >>> print(result) 4 * 2 >>> print(type(result)) str Rendering a Python object produces that object as long as it is the only node: >>> class Foo: ... def __init__(self, value): ... self.value = value ... >>> result = env.from_string('{{ x }}').render(x=Foo(15)) >>> print(type(result).__name__) Foo >>> print(result.value) 15 API --- .. autoclass:: NativeEnvironment([options]) .. autoclass:: NativeTemplate([options]) :members: render