mirror of https://github.com/zulip/zulip.git
jinja2: Serialize page-params with orjson.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
45fb7165b1
commit
79c087471c
|
@ -1,5 +1,6 @@
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
import orjson
|
||||||
from django.contrib.staticfiles.storage import staticfiles_storage
|
from django.contrib.staticfiles.storage import staticfiles_storage
|
||||||
from django.template.defaultfilters import pluralize, slugify
|
from django.template.defaultfilters import pluralize, slugify
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
@ -12,6 +13,10 @@ from zerver.context_processors import DEFAULT_PAGE_PARAMS
|
||||||
from zerver.templatetags.app_filters import display_list, render_markdown_path, webpack_entry
|
from zerver.templatetags.app_filters import display_list, render_markdown_path, webpack_entry
|
||||||
|
|
||||||
|
|
||||||
|
def json_dumps(obj: object) -> str:
|
||||||
|
return orjson.dumps(obj).decode()
|
||||||
|
|
||||||
|
|
||||||
def environment(**options: Any) -> Environment:
|
def environment(**options: Any) -> Environment:
|
||||||
env = Environment(**options)
|
env = Environment(**options)
|
||||||
env.globals.update(
|
env.globals.update(
|
||||||
|
@ -33,4 +38,7 @@ def environment(**options: Any) -> Environment:
|
||||||
env.filters["device_action"] = device_action
|
env.filters["device_action"] = device_action
|
||||||
env.filters["timesince"] = timesince
|
env.filters["timesince"] = timesince
|
||||||
|
|
||||||
|
env.policies["json.dumps_function"] = json_dumps # type: ignore[attr-defined] # type annotation will be fixed in Jinja2 3.0.0
|
||||||
|
env.policies["json.dumps_kwargs"] = {} # type: ignore[attr-defined] # type annotation will be fixed in Jinja2 3.0.0
|
||||||
|
|
||||||
return env
|
return env
|
||||||
|
|
Loading…
Reference in New Issue