| Age | Commit message (Collapse) | Author |
|
Adjusted its API through a deprecation path according to the DEP.
|
|
This aligns the Django Template Engine API with the common template
backend API.
|
|
It wasn't documented and it wasn't used anywhere.
|
|
It wasn't documented and it wasn't used anywhere, except in a few tests
that don't test it specifically and can be rewritten with get_template.
|
|
This commit changes the return type of these two functions. Instead of
returning a django.template.Template they return a backend-specific
Template class that must implement render(self, context).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i18n is left aside for now.
|
|
Since this package is going to hold both the implementation of the Django
Template Language and the infrastructure for Multiple Template Engines,
it should be untied from the DTL as much as possible within our
backwards-compatibility policy.
Only public APIs (i.e. APIs mentioned in the documentation) were left.
|
|
The shorter name is just as explicit and, well, shorter.
|
|
|
|
Refs #7261 -- Made strings escaped by Django usable in third-party libs.
The changes in mark_safe and mark_for_escaping are straightforward. The
more tricky part is to handle correctly objects that implement __html__.
Historically escape() has escaped SafeData. Even if that doesn't seem a
good behavior, changing it would create security concerns. Therefore
support for __html__() was only added to conditional_escape() where this
concern doesn't exist.
Then using conditional_escape() instead of escape() in the Django
template engine makes it understand data escaped by other libraries.
Template filter |escape accounts for __html__() when it's available.
|force_escape forces the use of Django's HTML escaping implementation.
Here's why the change in render_value_in_context() is safe. Before Django
1.7 conditional_escape() was implemented as follows:
if isinstance(text, SafeData):
return text
else:
return escape(text)
render_value_in_context() never called escape() on SafeData. Therefore
replacing escape() with conditional_escape() doesn't change the
autoescaping logic as it was originally intended.
This change should be backported to Django 1.7 because it corrects a
feature added in Django 1.7.
Thanks mitsuhiko for the report.
|
|
mark_safe and mark_for_escaping should have been kept similar.
On Python 2 this change has no effect. On Python 3 it fixes the use case
shown in the regression test for mark_for_escaping, which used to raise
a TypeError. The regression test for mark_safe is just for completeness.
|
|
database setup.
|
|
Thanks zimnyx for the report and Simon Charette, Tim Graham for
the reviews.
|
|
Added functions and tests
Added docs and more tests
Added TextField converter to mysql backend
Aliased Value as V in example docs and tests
Removed unicode_compatible in example
Fixed console emulation in examples
|
|
sqlall will be removed in Django 1.9, so now's a good time to remove
its usage where it's not important.
|
|
|
|
resultclasses.
Co-Authored-By: Rocky Meza <rmeza@fusionbox.com>
|
|
Thanks Mithos for the report and patch.
|
|
|
|
Refs #23866.
|
|
|
|
|
|
|
|
|
|
This removes the need to load django.test when not testing.
|
|
The migrations autodetector now issues AlterModelOptions operations for
Meta.managed changes instead of DeleteModel + CreateModel.
Thanks iambibhas for the report and Simon and Markus for review.
|
|
|
|
Also used schema editor in migrate to sync unmigrated apps (sync_apps).
Refs #22340. Thanks Tim Graham for the review.
|
|
|
|
Based on Daniel Wiesmann's raster branch. Thanks Daniel Wiesmann
and Tim Graham for the reviews. Refs #23804.
|
|
Thanks Philip Mountifield for the report and excellent analysis, and
Simon Charette for the review.
|
|
A test failed on Python 2 32-bit.
|
|
This reduces how frequently this logic is run significantly.
Thanks to Anssi for the suggestion.
|
|
Use INTERVAL DAY(9) TO SECOND(6) for Durationfield on Oracle rather than
storing as a NUMBER(19) of microseconds.
There are issues with cx_Oracle which require some extra data
manipulation in the database backend when constructing queries, but it
handles the conversion back to timedelta objects cleanly.
Thanks to Shai for the review.
|
|
refs #23355
|
|
Thanks welbornprod for report and initial patch.
|
|
|
|
|
|
Fixed #24034 -- Don't always overwrite deconstruct path.
|
|
|
|
Made deconstruct path overwriting for ArrayField conditional,
so it only occurs when the deconstructed field is an instance
of ArrayField itself and not a subclass.
|
|
It helps if there are the correct number of microseconds in a second.
|
|
A field for storing periods of time - modeled in Python by timedelta. It
is stored in the native interval data type on PostgreSQL and as a bigint
of microseconds on other backends.
Also includes significant changes to the internals of time related maths
in expressions, including the removal of DateModifierNode.
Thanks to Tim and Josh in particular for reviews.
|