Josh Soref
93452a70e8
Fixed many spelling mistakes in code, comments, and docs.
2015-12-03 12:48:24 -05:00
Jaap Roes
831514867c
Fixed a typo in the template Parser.parse docstring.
2015-11-26 09:57:21 -05:00
Attila Tovt
0a2d3b7387
Fixed #25682 -- Removed bare except clauses.
2015-11-17 14:39:15 -05:00
Aaron Elliot Ross
19a5f6da32
Fixed #25469 -- Added autoescape option to DjangoTemplates backend.
...
Thanks Aymeric for the initial patch and Carl for review.
2015-11-12 19:14:23 -05:00
Dmitry Dygalo
917100eed7
Simplified dict initialization in two places.
2015-11-07 21:46:46 +01:00
Sambhav Satija
dc4c8df7aa
Renamed filesizeformat tag's bytes variable to avoid clash with builtin.
2015-10-27 10:40:50 -04: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
Claude Paroz
81fed5bc33
Renamed deprecated logger.warn to warning
2015-10-24 11:37:58 +02: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
8d1a001ef6
Fixed #25466 -- Added backwards compatibility aliases for LoaderOrigin and StringOrigin.
...
Thanks Simon Charette for the DeprecationInstanceCheck class.
2015-09-29 18:31:11 -04:00
Tim Graham
6348db378a
Refs #22384 -- Removed obsolete code for the removal of reversing by dotted path.
2015-09-29 13:33:27 -04:00
Tim Graham
6048bfdc33
Added django.template.engine.Engine.render_to_string() docstring.
2015-09-24 09:15:56 -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
4811f09fa3
Removed template.loader.BaseLoader per deprecation timeline.
2015-09-23 19:31:11 -04:00
Tim Graham
2a20ebe6a5
Removed deprecated TEMPLATE_* settings per deprecation timeline.
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
5c62887d82
Refs #22933 -- Removed template.resolve_variable() 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
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
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
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
Buddy Lindsey, Jr
ec704371e3
Fixed #24765 -- Allowed template context updates to flatten a Context.
2015-09-11 14:52:13 -04:00
Tim Graham
5528e7da1a
Refs #24235 -- Removed unused is_usable attribute from base template Loader.
2015-09-05 10:58:23 -04:00
Maxime Lorant
5153a3bfdc
Fixed #25331 -- Removed trailing blank lines in docstrings.
2015-08-31 17:37:21 -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
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
Tim Graham
69483e022a
Removed some u string prefixes in code comments.
2015-07-06 09:17:28 -04:00
Tim Graham
8556978078
Removed unused variable template.base.ALLOWED_VARIABLE_CHARS.
...
Unused since 5d863f1fbd
.
2015-07-06 08:49:24 -04:00
Ned Batchelder
3b81dbe844
Used %r in the TextNode repr to show newlines better.
2015-06-30 09:54:18 -04:00
Andriy Sokolovskiy
1d40204f82
Removed unnecessary return
2015-06-29 17:14:29 -04:00
Andriy Sokolovskiy
4359be023b
Removed unreachable code
2015-06-29 17:14:29 -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
Tim Graham
7da3923ba0
Sorted imports in __init__.py files.
2015-06-27 11:53:33 -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
Tim Graham
3872a33132
Fixed #24979 -- Removed usage of inspect.getargspec().
2015-06-15 13:43:22 -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
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
Piotr Jakimiak
4157c502a5
Removed unnecessary arguments in .get method calls
2015-05-13 20:51:18 +02:00
Preston Timmons
d17a035132
Moved engine-related exceptions to django.template.exceptions.
...
With the introduction of multiple template engines these exceptions are no
longer DTL-specific. It makes more sense for them to be moved out of
DTL-related modules.
2015-05-06 17:33:47 -05:00
Preston Timmons
adff499e47
Fixed #24119 , #24120 -- Formalized debug integration for template backends.
2015-05-06 17:33:47 -05:00
Aymeric Augustin
1563b897c4
Fixed #24685 -- Fixed check for template name unicity.
...
Thanks Preston Timmons for the report.
2015-05-03 21:49:16 +02:00
Preston Timmons
fc21471526
Fixed #15053 -- Enabled recursive template loading.
2015-04-22 14:49:00 -05:00
Curtis Maloney
14ecbd02a3
Removed cases of six.iter* wrapped in a list()
...
There's absolutely no advantage [and a mild performance hit] to using six.iter*
in these cases.
2015-04-18 23:29:29 +10: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
a1842e3299
Updated docstring for firstof tag to reflect new auto-escaping behavior.
2015-04-03 07:28:18 -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
Tim Heap
4ea1909d3c
Fixed #24538 -- Allowed self in Jinja context
...
Rendering a Jinja template with self in the context threw an error.
While self is a reserved variable in Jinja, including self in the
context is not an error, so Django should respect that.
2015-04-01 12:26:57 -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
Jon Walsh
8d90489fe0
Fixed typo in escape_filter() docstring.
2015-03-19 07:21:38 -04:00
Preston Timmons
388e79e9fc
Fixed #24493 -- Added BaseContext.setdefault()
2015-03-16 13:13:02 -04:00
Claude Paroz
a52cd407b8
Fed tuples to startswith when appropriate
2015-03-13 21:58:28 +01: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
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
Corey Farwell
4fdc7015c0
Used dict comprehension in URLNode
...
4468c08d7
replaced a lot of the old `dict()` comprehensions
with the new style, but missed this one.
2015-03-02 08:50:27 -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
Aymeric Augustin
51b606f75d
Removed a non-obvious side-effect of assigning Context.template.
...
Explicit is better than implicit.
2015-02-20 22:27:48 +01:00
Aymeric Augustin
1bfcc950ab
Set context.template instead of context.engine while rendering.
...
This opens more possibilities, like accessing context.template.origin.
It also follows the chain of objects instead of following a shortcut.
2015-02-19 22:08:11 +01:00
Tim Graham
098fa12dd3
Refs #24324 -- Fixed crash in {% debug %} tag on Python 2.
...
If Django is installed in a path that contains non-ASCII characters,
the tag failed with UnicodeDecodeError.
2015-02-18 07:24:13 -05:00
Tim Graham
bad6280c4e
Refs #24324 -- Fixed get_app_template_dirs() UnicodeDecodeError on Python 2.
...
The function implemented most of upath(), but skipped the check for
strings that are already unicode.
2015-02-17 08:19:58 -05:00
Preston Timmons
ad9ecc2c20
Removed unnecessary __init__ definition from DebugLexer.
2015-02-16 19:00:02 +01:00
Aymeric Augustin
15b711b5ee
Deprecated TEMPLATE_DEBUG setting.
2015-02-15 20:47:04 +01:00
Aymeric Augustin
47ee7b48ad
Fixed #24338 -- Accepted Template wrapper in {% extends %}.
...
Explicitly checking for django.template.Template subclasses is
preferrable to duck-typing because both the django.template.Template and
django.template.backends.django.Template have a render() method.
Thanks spectras for the report.
2015-02-14 10:21:06 +01:00
Aymeric Augustin
f2c104ada6
Split DTL context creation into its own function.
...
This reduces the length of rope RequestContext gives users to hang
themselves with.
Thanks Alex Hill for the report and Tim Graham for the review.
2015-02-10 14:34:05 +01:00
Alex Gaynor
8099d33b65
Simplified the lazy CSRF token implementation in csrf context processor.
...
This significantly improves performance on PyPy. The previous
implementation would generate a new class on every single request,
which is relatively slow.
2015-02-08 15:02:43 -05:00
Collin Anderson
db77915c9f
Fixed E265 comment style
2015-02-06 09:30:35 -05:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Aymeric Augustin
44ad691558
Fixed #24265 -- Preserved template backend loading exceptions.
...
If importing or initializing a template backend fails, attempting to
access this template backend again must raise the same exception.
2015-02-05 20:06:18 +01:00
Aymeric Augustin
31d3a35579
Fixed #24273 -- Allowed copying RequestContext more than once.
...
Thanks Collin Anderson for the report.
2015-02-05 13:21:50 +01:00
Preston Timmons
5bc5ddd8b5
Fixed #24235 -- Removed is_usable attribute from template loaders.
2015-02-04 07:47:28 -05:00
Preston Timmons
cd4282816d
Fixed #18651 -- Enabled optional assignments for simple_tag().
2015-02-03 10:44:33 -05:00
Aymeric Augustin
2133f3157e
Fixed #24168 -- Allowed selecting a template engine in a few APIs.
...
Specifically in rendering shortcuts, template responses, and class-based
views that return template responses.
Also added a test for render_to_response(status=...) which was missing
from fdbfc980
.
Thanks Tim and Carl for the review.
2015-02-03 08:29:45 +01:00
David Robles
d60b96d988
Fixed typo in 'Django Template Language'
2015-01-17 03:05:28 +01:00
Aymeric Augustin
79deb6a071
Accounted for multiple template engines in template responses.
2015-01-12 21:01:34 +01:00
Aymeric Augustin
a3e783fe11
Deprecated passing a Context to a generic Template.render.
...
A deprecation path is required because the return type of
django.template.loader.get_template changed during the
multiple template engines refactor.
test_csrf_token_in_404 was incorrect: it tested the case when the
hardcoded template was rendered, and that template doesn't depend on the
CSRF token. This commit makes it test the case when a custom template is
rendered.
2015-01-12 21:01:34 +01:00
Aymeric Augustin
71b7668b75
Rewrapped TemplateSyntaxError in Jinja2 backend.
...
Changed import style to avoid confusion between Django's and Jinja2's
APIs.
2015-01-12 21:01:34 +01:00
Ola Sitarska
d563e3be68
Fixed #23913 -- Deprecated the `=` comparison in `if` template tag.
2015-01-11 15:21:01 -05:00
Aymeric Augustin
eaa1a22341
Added a request argument to render_to_string.
...
This is for consistency with Template.render.
It adds a little bit of knowledge about HTTP requests in
django.template.loader but I think consistency trumps purity.
2015-01-07 21:54:22 +01:00
Aymeric Augustin
118592663d
Exposed Engine in the django.template namespace.
...
It's the main entrypoint to the refactored template system.
2015-01-07 21:54:22 +01:00
Aymeric Augustin
0cdb09d489
Made context take priority over context processors.
...
This is the expected behavior, but given RequestContext's tortuous
implementation, a straightforward use of its API results in the
opposite.
This commits fixes a regression that must have happened at different
points in the multiple templates engine refactor for different features.
2015-01-06 22:02:27 +01:00
Aymeric Augustin
ed220c4cbe
Added comments to remove Engine.render_to_string in Django 2.0.
...
Since this is a private API introduced in Django 1.8, no documentation
is required.
2015-01-06 22:02:26 +01:00
Preston Timmons
de9ebdd39c
Fixed #24022 -- Deprecated the ssi tag.
2015-01-05 19:35:02 -05:00
Aymeric Augustin
932d449f00
Explained the structure of django.template.
2014-12-28 17:02:31 +01:00
Aymeric Augustin
b7282db833
Raised a warning when using the legacy TEMPLATE_* settings.
...
All tests now rely on TEMPLATES.
2014-12-28 17:02:31 +01:00