renderer
SqlTemplate(template, static_args)
Wrapper for jinja2.Template that stores static format arguments
such as {{ 'text' }}
Parameters:
-
template
(
Template
) –inner Template
-
static_args
(
dict[str, Any]
) –args recurded during template creation
Source code in jinja_psycopg/renderer.py
render(*args, **kwargs)
Same as jinja2.Template.render, but returns a psycopg.sql.Composed object
Source code in jinja_psycopg/renderer.py
make_module(vars=None, shared=False, locals=None)
Same as jinja2.Template.make_module, but returns a wrapper that remembers all the format arguments
Returns:
-
SqlTemplateModule
–module wrapper
Source code in jinja_psycopg/renderer.py
SqlTemplateModule(module, args)
Wrapper over jinja2.environment.TemplateModule that stores all the format arguments for use in SQL.format
Parameters:
Source code in jinja_psycopg/renderer.py
inner: TemplateModule
property
Get inner module
render()
getattr(name, default=_NO_VALUE)
Get attribute of the inner module
JinjaPsycopg(env=None)
Wrapper over jinja2.Environment that generates SqlTemplate
s
Parameters:
-
env
(
Optional[Environment]
, default:None
) –base jinja environment
Source code in jinja_psycopg/renderer.py
from_string(source, dedent=True, strip=True)
Parameters:
-
source
(
str
) –template string
-
dedent
(
bool
, default:True
) –remove indentation from source
-
strip
(
bool
, default:True
) –remove leading and trailing spaces
Returns:
-
SqlTemplate
–parsed template
Source code in jinja_psycopg/renderer.py
render(template, params={}, dedent=True, strip=True)
Shorthand for rendering a template or template string
Parameters:
-
template
(
Union[str, SqlTemplate]
) –template or template string
-
params
(
dict[str, Any]
, default:{}
) –template arguments
-
dedent
(
bool
, default:True
) –remove indentation from template string
-
strip
(
bool
, default:True
) –remove leading and trailing spaces
Returns:
-
Composed
–rendered SQL
Source code in jinja_psycopg/renderer.py
psycopg_filter(value)
Jinja filter that saves the value inside a dictionary in ContextVar and returns a psycopg format placeholder
Parameters:
-
value
(
Any
) –value piped into the filter
Returns:
-
str
–psycopg format placeholder such as
{key}
Source code in jinja_psycopg/renderer.py
escape_percents(composed)
Replace all occurences of '%' with '%%', so that psycopg doesn't mistake them for placeholders. Actual placeholders can still be created with psycopg.sql.Placeholder
Parameters:
-
composed
(
Composed
) –input sql
Returns:
-
Composed
–output sql