Tim Graham
277fe2e8f2
Fixed #25788 -- Enabled the cached template loader if debug is False.
2016-09-03 09:06:33 -04:00
Sergei Maertens
32c02f2a0e
Fixed #5908 -- Added {% resetcycle %} template tag.
...
Thanks to Simon Litchfield for the report, Uninen for the initial
patch, akaihola, jamesp, b.schube, and Florian Appoloner for
subsequent patches, tests, and documentation.
2016-09-01 15:52:21 -04:00
Tim Graham
59afe61a97
Fixed #27140 -- Prevented template rendering from hiding a property's TypeError.
2016-08-31 13:44:38 -04:00
Baptiste Mispelon
61b45dff6b
Fixed #27126 -- Made {% regroup %} return a namedtuple to ease unpacking.
2016-08-26 16:59:21 -04:00
Tim Graham
937d752d3d
Fixed #27058 -- Reallowed the {% for %} tag to unpack any iterable.
...
Thanks Sergei Maertens for the report and patch.
2016-08-15 15:39:22 -04:00
Alexander Schrijver
3ae3a1f9fa
Fixed #26830 -- Prevented the 'with' templatetag from resetting the cycle variable to its initial state.
2016-08-09 09:05:17 -04:00
Alexander Schrijver
31e053edfa
Refs #26830 -- Added a test for a named cycle template tag inside an ifchanged block and a for loop.
2016-08-09 08:47:09 -04:00
Raphaël Hertzog
8e5cbc884f
Fixed #26923 -- Fixed template_tests with numpy < 1.9.0.
2016-07-21 12:59:55 -04:00
Baptiste Mispelon
418658f453
Fixed numpy deprecation warning silencing in template_tests.
2016-07-09 10:23:58 -04:00
Jon Dufresne
4f336f6652
Fixed #26747 -- Used more specific assertions in the Django test suite.
2016-06-16 14:19:18 -04:00
inondle
93c312cc9c
Fixed #26573 -- Added descriptive error message for malformed if/else/elif template tags.
2016-05-27 18:12:56 -04:00
Tim Graham
ece4d24f8e
Refs #26601 -- Deprecated old-style middleware.
2016-05-17 07:22:26 -04:00
Florian Apolloner
9baf692a58
Fixed #26601 -- Improved middleware per DEP 0005.
...
Thanks Tim Graham for polishing the patch, updating the tests, and
writing documentation. Thanks Carl Meyer for shepherding the DEP.
2016-05-17 07:22:22 -04:00
Tim Graham
60b095cc4c
Refs #24046 -- Fixed a template test when run in reverse.
2016-05-11 11:41:10 -04:00
Tim Graham
2f0e0eee45
Fixed #24046 -- Deprecated the "escape" half of utils.safestring.
2016-05-10 12:46:47 -04:00
Simon Charette
207c5b4acd
Fixed #26603 -- Forced lazy template names to text when computing cache key.
...
Refs #26536 .
Thanks Sylvain Fankhauser for the very detailed report.
2016-05-10 10:03:01 -04:00
Vitaly Bogomolov
aec4f97555
Fixed #26402 -- Added relative path support in include/extends template tags.
2016-05-07 16:21:57 -04:00
Alasdair Nicol
dac075e910
Refs #26479 -- Documented is/is not if tag operator behavior for nonexistent variables.
2016-04-29 12:38:46 -04:00
Alasdair Nicol
246020efc5
Added tests for if tag's != operator.
2016-04-29 12:30:32 -04:00
Simon Charette
bd145e7209
Fixed #26536 -- Preserved leading dashes of the cached template loader keys.
...
Thanks Anders Roos for the report.
2016-04-24 22:15:45 -04:00
Alasdair Nicol
c16b9dd8e0
Fixed #26479 -- Added 'is not' operator to the if tag.
2016-04-09 13:01:15 -04:00
amureki
f8bbba8060
Fixed #26403 -- Removed translated content in "Invalid block tag" message.
2016-04-09 09:31:05 -04:00
Tim Graham
92053acbb9
Fixed E128 flake8 warnings in tests/.
2016-04-08 10:12:33 -04:00
Alex Hill
ecb59cc657
Fixed #26306 -- Fixed memory leak in cached template loader.
2016-03-16 12:37:57 -04:00
Ivan Tsouvarev
8890c533e0
Fixed #26280 -- Fixed cached template loader crash when loading nonexistent template.
2016-02-26 08:02:10 -05:00
Andrew Kuchev
e81d1c995c
Fixed #25670 -- Allowed dictsort to sort a list of lists.
...
Thanks Tim Graham for the review.
2016-02-23 12:15:08 -05:00
Tim Graham
cdbd8745f6
Fixed #26263 -- Deprecated Context.has_key()
2016-02-23 08:08:55 -05:00
Jon Dufresne
dec334cb66
Fixed #26193 -- Made urlize() trim multiple trailing punctuation.
2016-02-15 09:10:15 -05:00
Tim Graham
406675b1a0
Fixed #26176 -- Fixed E123 flake8 warnings.
2016-02-05 15:11:07 -05:00
Claude Paroz
be9bd3348d
Fixed #25758 -- Defaulted to current language FORMATs in date/time filters
...
Thanks Ali Lozano for the report and the initial patch, and Tim Graham for
the review.
2016-01-30 17:04:47 +01:00
Hasan
3d0dcd7f5a
Refs #26022 -- Used context manager version of assertRaises in tests.
2016-01-29 12:32:18 -05:00
Preston Timmons
cfda1fa3f8
Fixed #25848 -- Set template origin on each node.
...
Prior to 55f12f8709
, the template origin was available on each node via
`self.token.source[0]`. This behavior was removed when debug handling was
simplified, but 3rd-party debugging tools still depend on its presence.
This updates the Parser to set origin on individual nodes. This enables the
source template to be determined even when template extending or including is
used.
2016-01-26 06:23:27 -05:00
Preston Timmons
c00ae7f58c
Fixed #26118 -- Added 'is' operator to if template tag.
2016-01-22 15:35:28 -05:00
Marten Kenbeek
16411b8400
Fixed #26013 -- Moved django.core.urlresolvers to django.urls.
...
Thanks to Tim Graham for the review.
2015-12-31 14:21:29 -05:00
Iacopo Spalletti
d693074d43
Fixed #20223 -- Added keep_lazy() as a replacement for allow_lazy().
...
Thanks to bmispelon and uruz for the initial patch.
2015-12-12 14:46:48 -05:00
Jaap Roes
c6ea4ed5d2
Fixed #25825 -- Implemented __ne__() for template Origin
2015-12-03 15:59:34 -05:00
Josh Soref
93452a70e8
Fixed many spelling mistakes in code, comments, and docs.
2015-12-03 12:48:24 -05:00
Alex Morozov
13dba4dba3
Fixed #25780 -- Removed redundant status code assertions from tests
2015-11-21 18:12:33 +01:00
Tim Graham
20d2778597
Removed obsolete comments about Django 1.10 in two test files.
2015-11-17 10:42:22 -05:00
Sambhav Satija
ce7dd1273e
Fixed #25441 -- Added support for negative filesize to filesizeformat template filter.
...
Thanks Andrey Yakovlev for the initial patch.
2015-10-27 10:35:45 -04:00
Marten Kenbeek
34af2bc523
Fixed #25610 -- Reverted removal of request.current_app in {% url %} tag.
...
The deprecation removal in 5e450c52aa
removed too much.
2015-10-26 10:42:20 -04:00
Pindi Albert
9f2881deb1
Fixed #25423 -- Made error message for unknown template tag more helpful.
2015-10-05 17:21:35 -04:00
Tim Graham
2ccfac1a65
Refs #23913 -- Removed support for a single equals sign in {% if %} tag.
...
Per deprecation timeline.
2015-09-23 19:31:11 -04:00
Tim Graham
9af3c6b9ce
Made template response APIs enforce the use of dict and backend-specific template objects.
...
Per deprecation timeline; refs 79deb6a071
.
2015-09-23 19:31:11 -04:00
Tim Graham
9114fe8ada
Removed support for passing a context to a generic Template.render().
...
Per deprecation timeline; refs a3e783fe11
.
2015-09-23 19:31:11 -04:00
Tim Graham
9023696613
Removed dictionary and context_instance parameters for render functions.
...
Per deprecation timeline.
2015-09-23 19:31:11 -04:00
Tim Graham
b3641512c8
Removed dirs parameter in template engine methods and related funtions.
...
Per deprecation timeline.
2015-09-23 19:31:11 -04:00
Tim Graham
5e450c52aa
Removed current_app argument to render() and TemplateResponse().
...
Per deprecation timeline.
2015-09-23 19:31:10 -04:00
Tim Graham
3bbebd06ad
Refs #13408 -- Made unpacking mismatch an exception in {% for %} tag per deprecation timeline.
2015-09-23 19:31:09 -04:00
Tim Graham
222d063301
Refs #23269 -- Removed the removetags template tag and related functions per deprecation timeline.
2015-09-23 19:31:09 -04:00
Tim Graham
785cc71d5b
Refs #22384 -- Removed the ability to reverse URLs by dotted path per deprecation timeline.
2015-09-23 19:31:09 -04:00
Tim Graham
9a3dfa2a52
Refs #23261 -- Removed old style list syntax for unordered_list filter
...
Per deprecation timeline.
2015-09-23 19:31:09 -04:00
Tim Graham
27b2321793
Refs #24451 -- Removed comma-separated {% cycle %} syntax per deprecation timeline.
2015-09-23 19:31:09 -04:00
Tim Graham
04ee4059d7
Refs #24022 -- Removed the ssi tag per deprecation timeline.
2015-09-23 19:31:09 -04:00
Tim Graham
57039f9661
Refs #22306 -- Removed cycle/firstof template tags from "future".
...
Per deprecation timeline.
2015-09-23 19:31:09 -04:00
Nick Johnson
392f64842f
Fixed #25373 -- Added warning logging for exceptions during {% include %} tag rendering.
2015-09-21 19:57:12 -04:00
Nick Johnson
85c52743f7
Refs #18773 -- Improved template variable exception logging message.
2015-09-21 19:27:01 -04:00
Thomas Orozco
d49667ef26
Refs #25422 -- Added a test for a template tag with type annotations.
...
This doesn't work in Django 1.8 but was fixed in Django 1.9 as a
side effect of another change.
2015-09-18 08:10:38 -04:00
Dave Smith
b53b4d5c10
Fixed #25404 -- Added line numbers to TemplateSyntaxError strings.
...
This makes it much easier to diagnose a test failure when all
you have is the stack trace from an uncaught TemplateSyntaxError.
2015-09-15 12:25:13 -04:00
Dražen Odobašić
b1e33ceced
Fixed #23395 -- Limited line lengths to 119 characters.
2015-09-12 11:40:50 -04:00
Buddy Lindsey, Jr
ec704371e3
Fixed #24765 -- Allowed template context updates to flatten a Context.
2015-09-11 14:52:13 -04:00
Doug Beck
b7508896fb
Fixed #24257 -- Corrected i18n handling of percent signs.
...
Refactored tests to use a sample project.
Updated extraction:
* Removed special handling of single percent signs.
* When extracting messages from template text, doubled all percent signs
so they are not interpreted by gettext as string format flags. All
strings extracted by gettext, if containing a percent sign, will now
be labeled "#, python-format".
Updated translation:
* Used "%%" for "%" in template text before calling gettext.
* Updated {% trans %} rendering to restore "%" from "%%".
2015-08-12 10:23:34 -04:00
Tim Graham
a3830f6d66
Refs #25236 -- Removed ifequal/ifnotequal usage.
2015-08-08 07:33:15 -04:00
Claude Paroz
64982cc2fb
Updated Wikipedia links to use https
2015-08-08 12:02:32 +02:00
Marten Kenbeek
bc7923beff
Fixed #24127 -- Changed the default current_app to the current namespace.
...
Changed the url template tag to use request.resolver_match.namespace as a
default for the current_app argument if request.current_app is not set.
2015-07-27 09:14:48 -04:00
Luke Plant
8a5eadd140
Corrected HTML-escaping behaviour of url template tag.
...
Due to the URL encoding applied by the tag for all parameters that might be
partly controllable by an end-user, there are no XSS/security problems
caused by this bug, only invalid HTML.
2015-07-21 14:04:58 +01:00
Tim Graham
1fed8dd715
Fixed #25120 -- Deprecated egg template loader.
2015-07-16 09:32:42 -04:00
Matthew Somerville
839edcebb3
Fixed #21695 -- Added asvar option to blocktrans.
...
Thanks Bojan Mihelac for the initial patch.
2015-07-01 10:03:00 -04:00
Ned Batchelder
3b81dbe844
Used %r in the TextNode repr to show newlines better.
2015-06-30 09:54:18 -04:00
Luke Plant
aef2a0ec59
Fixed #25018 -- Changed simple_tag to apply conditional_escape() to its output.
...
This is a security hardening fix to help prevent XSS (and incorrect HTML)
for the common use case of simple_tag.
Thanks to Tim Graham for the review.
2015-06-29 08:16:19 -04:00
Noam
e291fc4757
Fixed #25031 -- Fixed a regression in the unordered_list template filter.
2015-06-27 09:37:41 -04:00
Tim Graham
aaacaeb096
Renamed RemovedInDjangoXYWarnings for new roadmap.
...
Forwardport of ae1d663b79
from stable/1.8.x plus more.
2015-06-24 16:08:20 -04:00
Matthew Somerville
a391b17ad2
Fixed #23516 -- Added caching of include tag Template objects
...
This also speeds up for loops that render the same template
multiple times.
2015-06-06 09:25:11 -04:00
Tomáš Ehrlich
002b3d87b5
Fixed #24230 -- Added translated language name for i18n template tag/filter.
2015-06-02 16:04:01 -04:00
Paweł Marczewski
300e8baf94
Fixed #24847 -- Prevented items set on a RequestContext from being lost.
2015-05-27 10:04:57 -04:00
Preston Timmons
655f524915
Fixed #17085 , #24783 -- Refactored template library registration.
...
* Converted the ``libraries`` and ``builtins`` globals of
``django.template.base`` into properties of the Engine class.
* Added a public API for explicit registration of libraries and builtins.
2015-05-21 09:12:06 -05:00
Simon Charette
8bf1449edb
Refs #24652 -- Converted a template test to avoid executing queries.
2015-05-20 12:50:40 -04:00
Tim Graham
3b133ffb8b
Fixed template_tests failure on Windows.
2015-04-28 07:55:27 -04:00
Preston Timmons
fc21471526
Fixed #15053 -- Enabled recursive template loading.
2015-04-22 14:49:00 -05:00
Preston Timmons
fb267a1d85
Updated template tests to create their own engine.
...
This continues work to treat Django templates as a library.
2015-04-20 09:11:37 -05:00
Tommy Beadle
6bfd864ff2
Fixed #24603 -- Allowed Context.update() to be used as a context manager.
2015-04-14 08:01:16 -04:00
Craig Oldford
75bc5bc634
Fixed #12199 -- Added the ability to use "as" with the firstof template tag.
2015-04-14 07:19:47 -04:00
Preston Timmons
0808ccce38
Fixed #23441 , #24555 -- Improved the behavior of InclusionNode.
...
This change:
* Makes the InclusionNode cache-safe by removing render-time side effects
to its nodelist.
* Ensures the render_context stack is properly scoped and reset by updating
the render call to use Template.render rather than Nodelist.render.
2015-04-01 13:02:19 -04:00
Caroline Simpson
dc5b01ad05
Fixed #18773 -- Added logging for template variable resolving
...
Added a django.template logger without a default handler. Added
logging if there is an exception while resolving variables in a
template.
2015-03-27 19:19:48 -04:00
Preston Timmons
55f12f8709
Cleaned up the template debug implementation.
...
This patch does three major things:
* Merges the django.template.debug implementation into django.template.base.
* Simplifies the debug implementation.
The old implementation copied debug information to every token and node.
The django_template_source attribute was set in multiple places, some
quite hacky, like django.template.defaulttags.ForNode.
Debug information is now annotated in two high-level places:
* Template.compile_nodelist for errors during parsing
* Node.render_annotated for errors during rendering
These were chosen because they have access to the template and context
as well as to all exceptions that happen during either the parse or
render phase.
* Moves the contextual line traceback information creation from
django.views.debug into django.template.base.Template. The debug views now
only deal with the presentation of the debug information.
2015-03-20 08:58:07 -04:00
Preston Timmons
388e79e9fc
Fixed #24493 -- Added BaseContext.setdefault()
2015-03-16 13:13:02 -04:00
Tim Graham
3ed9c7bdfe
Fixed #24471 -- Enhanced urlize regex to exclude quotes and angle brackets.
2015-03-10 19:24:46 -04:00
Tim Graham
7b1a67cce5
Fixed escaping regression in urlize filter.
...
Now that the URL is always unescaped as of refs #22267 ,
we should re-escape it before inserting it into the anchor.
2015-03-10 18:58:34 -04:00
Erik Romijn
fa350e2f30
Fixed #24464 -- Made built-in HTML template filter functions escape their input by default.
...
This may cause some backwards compatibility issues, but may also
resolve security issues in third party projects that fail to heed warnings
in our documentation.
Thanks Markus Holtermann for help with tests and docs.
2015-03-09 09:29:58 -04:00
Tim Graham
c36b60836b
Fixed #24451 -- Deprecated comma-separated {% cycle %} syntax.
2015-03-07 07:42:39 -05:00
Claude Paroz
ec808e807a
Fixed urlize regression with entities in query strings
...
Refs #22267 .
Thanks Shai Berger for spotting the issue and Tim Graham for the
initial patch.
2015-03-06 22:20:14 +01:00
Preston Timmons
fb7d681705
Fixed test_notafile_error to pass on Windows.
...
This test failed because a different error code is raised on Windows when
opening a directory. Since the particular message isn't as important to this
test as the fact that the original IOError is reraised, this fixes the test
by making the assertion more generic.
2015-03-05 12:14:19 -05:00
Preston Timmons
70123cf084
Fixed #24399 -- Made filesystem loaders use more specific exceptions.
2015-03-03 21:20:46 +01:00
Preston Timmons
358850781f
Fixed #24372 - Replaced TokenParser usage with traditional parsing.
2015-03-02 18:25:28 -05:00
Preston Timmons
80d6b6b863
Fixed #24409 -- Combined the app_directories and filesystem loader implementation.
...
Besides the directories they look in, these two loaders are functionally
the same. This removes unnecessary code duplication between the two.
2015-03-02 07:53:58 -05:00
Preston Timmons
8e129b42ad
Cleaned up template directory handling in template tests.
2015-02-24 14:00:03 +01:00
Preston Timmons
32c108a221
Combined TemplateTests and TemplateRegressionTests.
2015-02-24 14:00:03 +01:00
Preston Timmons
25a0b5cdcd
Moved test_token_smart_split into ParserTests.
2015-02-24 14:00:03 +01:00
Preston Timmons
3d8fee6051
Moved ifchanged tests into syntax_tests/test_if_changed.py.
2015-02-24 14:00:02 +01:00
Preston Timmons
f6d087b628
Moved cache tests into syntax_tests/test_cache.py.
2015-02-24 14:00:02 +01:00