summaryrefslogtreecommitdiff
path: root/django/template
AgeCommit message (Collapse)Author
2024-07-31[4.2.x] Fixed CVE-2024-41989 -- Prevented excessive memory consumption in ↵Sarah Boyce
floatformat. Thanks Elias Myllymäki for the report. Co-authored-by: Shai Berger <shai@platonix.com>
2023-04-12[4.2.x] Refs #34482 -- Reverted "Fixed #32969 -- Fixed pickling HttpResponse ↵Mariusz Felisiak
and subclasses." This reverts commit d7f5bfd241666c0a76e90208da1e9ef81aec44db. Thanks Márton Salomváry for the report. Backport of 173034b00589c083793d495e8b07e35be2cb1cf0 from main
2023-02-22[4.2.x] Fixed #34363 -- Fixed floatformat crash on zero with trailing zeros.Panagiotis H.M. Issaris
Regression in 08c5a787262c1ae57f6517d4574b54a5fcaad124. Follow up to 4b066bde692078b194709d517b27e55defae787c. Backport of dcd974698301a38081c141ccba6dcafa5ed2c80e from main
2023-02-01[4.2.x] Refs #33476 -- Applied Black's 2023 stable style.David Smith
Black 23.1.0 is released which, as the first release of the year, introduces the 2023 stable style. This incorporates most of last year's preview style. https://github.com/psf/black/releases/tag/23.1.0 Backport of 097e3a70c1481ee7b042b2edd91b2be86fb7b5b6 from main
2023-01-19[4.2.x] Fixed #34272 -- Fixed floatformat crash on zero with trailing zeros ↵David Wobrock
to zero decimal places. Regression in 08c5a787262c1ae57f6517d4574b54a5fcaad124. Thanks Andrii Lahuta for the report. Backport of 4b066bde692078b194709d517b27e55defae787c from main
2023-01-06Fixed #34220 -- Moved csrf_input_lazy, csrf_token_lazy imports to the toplevel.rajdesai24
This prevents random errors with partially initialized modules.
2022-10-24Fixed #34098 -- Fixed loss of precision for Decimal values in floatformat ↵Vlastimil Zíma
filter. Regression in 12f7928f5a455e330c0a7f19bc86b37baca12811.
2022-07-23Fixed #33864 -- Deprecated length_is template filter.Nick Pope
2022-06-20Fixed #32969 -- Fixed pickling HttpResponse and subclasses.Anv3sh
2022-05-25Normalized imports of functools.wraps.Aymeric Augustin
@wraps is 10 times more common than @functools.wraps. Standardize to the most common version.
2022-05-20Fixed #33653 -- Fixed template crash when calling methods for built-in types ↵cheng
without required arguments. Regression in 09341856ed9008875c1cc883dc0c287670131458.
2022-04-19Fixed #33639 -- Enabled cached template loader in development.Carlton Gibson
2022-04-11Fixed #33628 -- Ignored directories with empty names in autoreloader check ↵Manel Clos
for template changes. Regression in 68357b2ca9e88c40fc00d848799813241be39129.
2022-02-16Removed unused Node.__iter__().Keryn Knight
2022-02-07Refs #33476 -- Refactored code to strictly match 88 characters line length.Mariusz Felisiak
2022-02-07Refs #33476 -- Reformatted code with Black.django-bot
2022-02-03Fixed #33473 -- Fixed detecting changes by autoreloader in .py files inside ↵Hrushikesh Vaidya
template directories.
2022-02-03Refs #33476 -- Refactored problematic code before reformatting by Black.Mariusz Felisiak
In these cases Black produces unexpected results, e.g. def make_random_password( self, length=10, allowed_chars='abcdefghjkmnpqrstuvwxyz' 'ABCDEFGHJKLMNPQRSTUVWXYZ' '23456789', ): or cursor.execute(""" SELECT ... """, [table name], )
2022-02-02Fixed #33474 -- Added __slots__ to Variable and FilterExpression.Keryn Knight
2022-02-01Fixed CVE-2022-22818 -- Fixed possible XSS via {% debug %} template tag.Markus Holtermann
Thanks Keryn Knight for the report. Co-authored-by: Adam Johnson <me@adamj.eu>
2022-01-10Simplified @stringfilter decorator and Library with unwrap().Baptiste Mispelon
Nowadays we can use inspect.unwrap() to retrieve the innermost function object when needed, and most of the uses of _decorated_function were to access the original __name__ which is not needed because @functools.wraps sets that attribute correctly.
2022-01-07Avoided isinstance(…, Variable) calls in FilterExpression.resolve().Keryn Knight
By determining the variable type within __init__() instead of resolve() we can skip an isinstance() check at template runtime. Templates are executed in production more often than the parse trees themselves, assuming the cached Loader is used.
2022-01-04Fixed CVE-2021-45116 -- Fixed potential information disclosure in dictsort ↵Florian Apolloner
template filter. Thanks to Dennis Brinkrolf for the report. Co-authored-by: Adam Johnson <me@adamj.eu>
2021-12-21Optimized django.template.autoreload.get_template_directories() a bit.Adam Johnson
2021-12-08Refs #32290 -- Optimized construct_relative_path() by delay computing ↵Keryn Knight
has_quotes.
2021-11-22Fixed #33302 -- Made element_id optional argument for json_script template ↵Baptiste Mispelon
filter. Added versionchanged note in documentation
2021-10-20Refs #32987 -- Refactored out get_template_tag_modules().Daniel Fairhead
2021-09-27Used Path.read_text() in jinja2.get_exception_info().Mariusz Felisiak
2021-09-27Refs #32355 -- Used @functools.lru_cache as a straight decorator.Mariusz Felisiak
2021-09-08Fixed #30086, Refs #32873 -- Made floatformat template filter independent of ↵Mariusz Felisiak
USE_L10N.
2021-08-25Refs #32919 -- Simplified Lexer.create_token() by reorganizing blocks.Chris Jerdonek
2021-08-25Refs #32919 -- Added assertion for token start in Lexer.create_token().Chris Jerdonek
This adds an assertion in the code path where the method would otherwise return None, which isn't allowed.
2021-08-19Fixed #33036 -- Made simple_tag()/inclusion_tag() with takes_context raise ↵Matt Westcott
TemplateSyntaxError when function has no parameters.
2021-08-09Fixed #33002 -- Made DebugLexer.tokenize() more closely parallel ↵Chris Jerdonek
Lexer.tokenize().
2021-08-09Refs #33002 -- Renamed variable from bit to token_string in Lexer.tokenize().Chris Jerdonek
2021-08-09Refs #33002 -- Optimized Lexer.tokenize() by skipping computing lineno when ↵Chris Jerdonek
not needed.
2021-08-09Fixed #32990 -- Simplified and optimized tag regex.Greg Twohig
Thanks Chris Jerdonek for the review.
2021-08-05Refs #32986 -- Moved TRANSLATOR_COMMENT_MARK to ↵Chris Jerdonek
django.utils.translation.template.
2021-08-05Fixed #32986 -- Removed unneeded str.find() call in Lexer.create_token().Chris Jerdonek
Unnecessary since 47ddd6a4082d55d8856b7e6beac553485dd627f7.
2021-08-02Fixed #32919 -- Optimized lexing & parsing of templates.Keryn Knight
This optimizes: - Lexer.create_token() by avoiding startswith() calls, - Parser.parse() by re-using the token type enum's value, - Parser.extend_nodelist() by removing unnecessary isinstance() check, - some Node subclasses by removing the implicit "nodelist" from "child_nodelists", - Variable.__init__() by avoiding startswith() calls.
2021-07-02Fixed #28935 -- Fixed display of errors in extended blocks.cammil
Get the template that caused the exception and get the exception info from that template, using the node that caused the exception.
2021-06-11Fixed #32824 -- Improved performance of NodeList.render().Keryn Knight
This avoids the following: - checking that each item in the nodelist is a subclass of Node, - calling str() on the render_annotated() output, because it's documented that Node.render() must return a string, - calling mark_safe() on the output, when the value to be wrapped is definitively known to be a string because the result of ''.join() is always of that type, - using an intermediate list to store each individual string.
2021-06-10Refs #24121 -- Added __repr__() to AdminForm, BlockContext, ↵saeedblanchette
BlockTranslateNode, and IncludeNode.
2021-06-07Fixed #32814 -- Improved performance of TextNode.Keryn Knight
This avoids calling render() and handling exceptions, which is not necessary for text nodes.
2021-06-01Refs #24121 -- Added __repr__() to Engineabhiabhi94
2021-05-26Fixed #32744 -- Normalized to pathlib.Path in autoreloader check for ↵Hasan Ramezani
template changes.
2021-03-17Refs #24121 -- Added __repr__() to Origin and Template.Tiago Honorato
2021-03-02Refs #24121 -- Added __repr__() to URLNode.Rohith PR
2021-02-26Refs #24121 -- Added __repr__() to FilterExpression, Lexer, Parser, and Token.David Smith
2021-01-27Fixed #32290 -- Fixed TemplateNotFound in {% include %} tag for relative ↵Hasan Ramezani
path in variable.