summaryrefslogtreecommitdiff
path: root/django/template
AgeCommit message (Collapse)Author
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.
2021-01-14Refs #25236 -- Removed {% ifequal %} and {% ifnotequal %} template tags per ↵Mariusz Felisiak
deprecation timeline.
2020-12-28Fixed #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-21Refs #15053 -- Clarified debug message when skipping templates to avoid ↵Daniel Hahler
recursion.
2020-11-05Fixed #25791 -- Implement autoreload behaviour for cached template loader.Tom Forbes
2020-11-05Refs #25791 -- Added get_dirs() method to cached template loader.Tom Forbes
2020-10-13Fixed #20601 -- Allowed forcing format with thousand separators in ↵Jacob Walls
floatformat filter. Thanks Claude Paroz and Nick Pope for reviews.
2020-10-07Fixed #32002 -- Added headers parameter to HttpResponse and subclasses.Tom Carrick
2020-07-30Bumped 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-11Refs #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-11Fixed #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-04Refs #30573 -- Rephrased "Of Course" and "Obvious(ly)" in documentation and ↵Adam Johnson
comments.
2020-03-17Fixed #31172 -- Added note to translators for yesno filter.Hasan Ramezani
2020-02-18Fixed #20995 -- Added support for iterables of template names to {% include ↵Keshav Kumar
%} template tag. Thanks Adam Johnson for the review.
2020-01-02Fixed #31128 -- Fixed TemplateSyntaxError in simple_tag() and ↵Patrick Seebauer
inclusion_tag() for kwargs.
2019-12-18Refs #30585 -- Updated project templates and tests to use (block)translate tags.Mike Hansen
2019-12-10Used 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-10Used full module import for inspect in template/base.py.Baptiste Mispelon
2019-11-27Fixed #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-19Removed unnecessary numeric indexes in format strings.Jon Dufresne
2019-11-07Refs #29983 -- Added support for using pathlib.Path in all settings.Jon Dufresne
2019-10-31Fixed #30761 -- Prevented floatformat filter from returning a negative zero.Sky
2019-10-29Fixed #30899 -- Lazily compiled import time regular expressions.Hasan Ramezani
2019-10-09Improved 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-02Fixed some typos in comments and docs.Min ho Kim
Thanks to Mads Jenson for review.
2019-10-01Fixed #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-24Removed 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-10Refs #29817 -- Removed settings.FILE_CHARSET per deprecation timeline.Mariusz Felisiak
2019-06-11Fixed #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-17Fixed #30453 -- Fixed crash of simple_tag() and inclusion_tag() when ↵Batuhan Taşkaya
function is wrapped. getfullargspec() doesn't work with wrapped functions.