| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-09-08 | Fixed #30086, Refs #32873 -- Made floatformat template filter independent of ↵ | Mariusz Felisiak | |
| USE_L10N. | |||
| 2021-08-25 | Refs #32919 -- Simplified Lexer.create_token() by reorganizing blocks. | Chris Jerdonek | |
| 2021-08-25 | Refs #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-19 | Fixed #33036 -- Made simple_tag()/inclusion_tag() with takes_context raise ↵ | Matt Westcott | |
| TemplateSyntaxError when function has no parameters. | |||
| 2021-08-09 | Fixed #33002 -- Made DebugLexer.tokenize() more closely parallel ↵ | Chris Jerdonek | |
| Lexer.tokenize(). | |||
| 2021-08-09 | Refs #33002 -- Renamed variable from bit to token_string in Lexer.tokenize(). | Chris Jerdonek | |
| 2021-08-09 | Refs #33002 -- Optimized Lexer.tokenize() by skipping computing lineno when ↵ | Chris Jerdonek | |
| not needed. | |||
| 2021-08-09 | Fixed #32990 -- Simplified and optimized tag regex. | Greg Twohig | |
| Thanks Chris Jerdonek for the review. | |||
| 2021-08-05 | Refs #32986 -- Moved TRANSLATOR_COMMENT_MARK to ↵ | Chris Jerdonek | |
| django.utils.translation.template. | |||
| 2021-08-05 | Fixed #32986 -- Removed unneeded str.find() call in Lexer.create_token(). | Chris Jerdonek | |
| Unnecessary since 47ddd6a4082d55d8856b7e6beac553485dd627f7. | |||
| 2021-08-02 | Fixed #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-02 | Fixed #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-11 | Fixed #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-10 | Refs #24121 -- Added __repr__() to AdminForm, BlockContext, ↵ | saeedblanchette | |
| BlockTranslateNode, and IncludeNode. | |||
| 2021-06-07 | Fixed #32814 -- Improved performance of TextNode. | Keryn Knight | |
| This avoids calling render() and handling exceptions, which is not necessary for text nodes. | |||
| 2021-06-01 | Refs #24121 -- Added __repr__() to Engine | abhiabhi94 | |
| 2021-05-26 | Fixed #32744 -- Normalized to pathlib.Path in autoreloader check for ↵ | Hasan Ramezani | |
| template changes. | |||
| 2021-03-17 | Refs #24121 -- Added __repr__() to Origin and Template. | Tiago Honorato | |
| 2021-03-02 | Refs #24121 -- Added __repr__() to URLNode. | Rohith PR | |
| 2021-02-26 | Refs #24121 -- Added __repr__() to FilterExpression, Lexer, Parser, and Token. | David Smith | |
| 2021-01-27 | Fixed #32290 -- Fixed TemplateNotFound in {% include %} tag for relative ↵ | Hasan Ramezani | |
| path in variable. | |||
| 2021-01-14 | Refs #25236 -- Removed {% ifequal %} and {% ifnotequal %} template tags per ↵ | Mariusz Felisiak | |
| deprecation timeline. | |||
| 2020-12-28 | Fixed #27827 -- Used "raise from" when raising InvalidTemplateLibrary ↵ | Jacob Walls | |
| exceptions in get_package_libraries(). This change sets the __cause__ attribute to raised exceptions and makes small cleanups in error messages. | |||
| 2020-11-21 | Refs #15053 -- Clarified debug message when skipping templates to avoid ↵ | Daniel Hahler | |
| recursion. | |||
| 2020-11-05 | Fixed #25791 -- Implement autoreload behaviour for cached template loader. | Tom Forbes | |
| 2020-11-05 | Refs #25791 -- Added get_dirs() method to cached template loader. | Tom Forbes | |
| 2020-10-13 | Fixed #20601 -- Allowed forcing format with thousand separators in ↵ | Jacob Walls | |
| floatformat filter. Thanks Claude Paroz and Nick Pope for reviews. | |||
| 2020-10-07 | Fixed #32002 -- Added headers parameter to HttpResponse and subclasses. | Tom Carrick | |
| 2020-07-30 | Bumped minimum isort version to 5.1.0. | David Smith | |
| Fixed inner imports per isort 5. isort 5.0.0 to 5.1.0 was unstable. | |||
| 2020-05-11 | Refs #30116 -- Simplified regex match group access with Match.__getitem__(). | Jon Dufresne | |
| The method has been available since Python 3.6. The shorter syntax is also marginally faster. | |||
| 2020-05-11 | Fixed #25236 -- Deprecated {% ifequal %} and {% ifnotequal %} template tags. | Jon Dufresne | |
| The {% if %} tag provides all features of these tags. Since Django 1.2 (May 17, 2010), the docs have hinted that {% ifequal %} and {% ifnotequal %} will be deprecated in a future Django version. Time to make it official. | |||
| 2020-05-04 | Refs #30573 -- Rephrased "Of Course" and "Obvious(ly)" in documentation and ↵ | Adam Johnson | |
| comments. | |||
| 2020-03-17 | Fixed #31172 -- Added note to translators for yesno filter. | Hasan Ramezani | |
| 2020-02-18 | Fixed #20995 -- Added support for iterables of template names to {% include ↵ | Keshav Kumar | |
| %} template tag. Thanks Adam Johnson for the review. | |||
| 2020-01-02 | Fixed #31128 -- Fixed TemplateSyntaxError in simple_tag() and ↵ | Patrick Seebauer | |
| inclusion_tag() for kwargs. | |||
| 2019-12-18 | Refs #30585 -- Updated project templates and tests to use (block)translate tags. | Mike Hansen | |
| 2019-12-10 | Used Signature API instead of deprecated inspect.getcallargs(). | Baptiste Mispelon | |
| inspect.getcallargs() was deprecated in Python 3.5 and the Signature API (PEP 362) has better support for decorated functions (by default, it follows the __wrapped__ attribute set by functools.wraps for example). | |||
| 2019-12-10 | Used full module import for inspect in template/base.py. | Baptiste Mispelon | |
| 2019-11-27 | Fixed #30425 -- Handled jinja2.TemplateSyntaxError when rendering a template. | Hasan Ramezani | |
| Jinja raises jinja2.TemplateSyntaxError in render() not in get_template() when it's in an included template. | |||
| 2019-11-19 | Removed unnecessary numeric indexes in format strings. | Jon Dufresne | |
| 2019-11-07 | Refs #29983 -- Added support for using pathlib.Path in all settings. | Jon Dufresne | |
| 2019-10-31 | Fixed #30761 -- Prevented floatformat filter from returning a negative zero. | Sky | |
| 2019-10-29 | Fixed #30899 -- Lazily compiled import time regular expressions. | Hasan Ramezani | |
| 2019-10-09 | Improved performance of django.template.base.Parser. | Alex Gaynor | |
| pop(0), which is used to fetch each token, is O(n) in the length of the list. By reversing the list and operating off the end, we can perform next_token(), prepend_token(), and delete_first_token() in constant time. | |||
| 2019-10-02 | Fixed some typos in comments and docs. | Min ho Kim | |
| Thanks to Mads Jenson for review. | |||
| 2019-10-01 | Fixed #30651 -- Made __eq__() methods return NotImplemented for not ↵ | ElizabethU | |
| implemented comparisons. Changed __eq__ to return NotImplemented instead of False if compared to an object of the same type, as is recommended by the Python data model reference. Now these models can be compared to ANY (or other objects with __eq__ overwritten) without returning False automatically. | |||
| 2019-09-24 | Removed some outdated backwards compatibility imports and misleading comments. | Mads Jensen | |
| EmptyResultSet moved in 46509cf13dbf049f75077981c29ef2c60b5a96ab. FieldDoesNotExist moved in 8958170755b37ce346ae5257c1000bd936faa3b0. BoundField and pretty_name moved in 8550161e531a603d57723850fb09c4c9b7ca60b9. EMPTY_VALUES moved in 471596fc1afcb9c6258d317c619eaf5fd394e797. BaseRunserverCommand moved in 5c53e30607014163872e89c221b206992a9acfef. | |||
| 2019-09-10 | Refs #29817 -- Removed settings.FILE_CHARSET per deprecation timeline. | Mariusz Felisiak | |
| 2019-06-11 | Fixed #27486 -- Fixed Python 3.7 DeprecationWarning in intword and ↵ | Jon Dufresne | |
| filesizeformat filters. intword and filesizeformat passed floats to ngettext() which is deprecated in Python 3.7. The rationale for this warning is documented in BPO-28692: https://bugs.python.org/issue28692. For filesizeformat, the filesize value is expected to be an int -- it fills %d string formatting placeholders. It was likely coerced to a float to ensure floating point division on Python 2. Python 3 always does floating point division, so coerce to an int instead of a float to fix the warning. For intword, the number may contain a decimal component. In English, a decimal component makes the noun plural. A helper function, round_away_from_one(), was added to convert the float to an integer that is appropriate for ngettext(). | |||
| 2019-05-17 | Fixed #30453 -- Fixed crash of simple_tag() and inclusion_tag() when ↵ | Batuhan Taşkaya | |
| function is wrapped. getfullargspec() doesn't work with wrapped functions. | |||
