Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
D
django
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
django
Commits
d3a98255
Kaydet (Commit)
d3a98255
authored
Ara 14, 2014
tarafından
Aymeric Augustin
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Deprecated TEMPLATE_STRING_IF_INVALID.
üst
3dc01aaa
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
44 additions
and
33 deletions
+44
-33
deprecation.txt
docs/internals/deprecation.txt
+1
-0
settings.txt
docs/ref/settings.txt
+5
-0
api.txt
docs/ref/templates/api.txt
+17
-19
1.6.txt
docs/releases/1.6.txt
+1
-1
1.8.txt
docs/releases/1.8.txt
+1
-0
templates.txt
docs/topics/templates.txt
+3
-3
test_callables.py
tests/template_tests/test_callables.py
+1
-1
tests.py
tests/template_tests/tests.py
+7
-1
utils.py
tests/template_tests/utils.py
+8
-8
No files found.
docs/internals/deprecation.txt
Dosyayı görüntüle @
d3a98255
...
...
@@ -90,6 +90,7 @@ details on these changes.
* The following settings will be removed:
* ``ALLOWED_INCLUDE_ROOTS``
* ``TEMPLATE_STRING_IF_INVALID``
* The backwards compatibility alias ``django.template.loader.BaseLoader`` will
be removed.
...
...
docs/ref/settings.txt
Dosyayı görüntüle @
d3a98255
...
...
@@ -2452,6 +2452,11 @@ TEMPLATE_STRING_IF_INVALID
Default: ``''`` (Empty string)
.. deprecated:: 1.8
Set the ``'string_if_invalid'`` option in the :setting:`OPTIONS
<TEMPLATES-OPTIONS>` of a ``DjangoTemplates`` backend instead.
Output, as a string, that the template system should use for invalid (e.g.
misspelled) variables. See :ref:`invalid-template-variables`.
...
...
docs/ref/templates/api.txt
Dosyayı görüntüle @
d3a98255
...
...
@@ -171,7 +171,7 @@ straight lookups. Here are some things to keep in mind:
``silent_variable_failure`` whose value is ``True``. If the exception
*does* have a ``silent_variable_failure`` attribute whose value is
``True``, the variable will render as the value of the
:setting:`TEMPLATE_STRING_IF_INVALID` setting
(an empty string, by default).
``string_if_invalid`` configuration option
(an empty string, by default).
Example::
>>> t = Template("My name is {{ person.first_name }}.")
...
...
@@ -200,7 +200,7 @@ straight lookups. Here are some things to keep in mind:
silently.
* A variable can only be called if it has no required arguments. Otherwise,
the system will return the value of
:setting:`TEMPLATE_STRING_IF_INVALID`
.
the system will return the value of
the ``string_if_invalid`` option
.
.. _alters-data-description:
...
...
@@ -217,7 +217,7 @@ straight lookups. Here are some things to keep in mind:
To prevent this, set an ``alters_data`` attribute on the callable
variable. The template system won't call a variable if it has
``alters_data=True`` set, and will instead replace the variable with
:setting:`TEMPLATE_STRING_IF_INVALID
`, unconditionally. The
``string_if_invalid`
`, unconditionally. The
dynamically-generated :meth:`~django.db.models.Model.delete` and
:meth:`~django.db.models.Model.save` methods on Django model objects get
``alters_data=True`` automatically. Example::
...
...
@@ -239,36 +239,34 @@ How invalid variables are handled
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Generally, if a variable doesn't exist, the template system inserts the
value of the
:setting:`TEMPLATE_STRING_IF_INVALID` setting
, which is set to
value of the
``string_if_invalid`` configuration option
, which is set to
``''`` (the empty string) by default.
Filters that are applied to an invalid variable will only be applied if
:setting:`TEMPLATE_STRING_IF_INVALID
` is set to ``''`` (the empty string). If
:setting:`TEMPLATE_STRING_IF_INVALID` is set to any other value, variabl
e
filters will be
ignored.
``string_if_invalid`
` is set to ``''`` (the empty string). If
``string_if_invalid`` is set to any other value, variable filters will b
e
ignored.
This behavior is slightly different for the ``if``, ``for`` and ``regroup``
template tags. If an invalid variable is provided to one of these template
tags, the variable will be interpreted as ``None``. Filters are always
applied to invalid variables within these template tags.
If
:setting:`TEMPLATE_STRING_IF_INVALID` contains a ``'%s'``, the format marker will
be
replaced with the name of the invalid variable.
If
``string_if_invalid`` contains a ``'%s'``, the format marker will be
replaced with the name of the invalid variable.
.. admonition:: For debug purposes only!
While
:setting:`TEMPLATE_STRING_IF_INVALID` can be a useful debugging tool,
i
t is a bad i
dea to turn it on as a 'development default'.
While
``string_if_invalid`` can be a useful debugging tool, it is a bad
idea to turn it on as a 'development default'.
Many templates, including those in the Admin site, rely upon the
silence of the template system when a non-existent variable is
encountered. If you assign a value other than ``''`` to
:setting:`TEMPLATE_STRING_IF_INVALID`, you will experience rendering
problems with these templates and sites.
Many templates, including those in the Admin site, rely upon the silence
of the template system when a non-existent variable is encountered. If you
assign a value other than ``''`` to ``string_if_invalid``, you will
experience rendering problems with these templates and sites.
Generally, :setting:`TEMPLATE_STRING_IF_INVALID` should only be enabled
in order to debug a specific template problem, then cleared
once debugging is complete.
Generally, ``string_if_invalid`` should only be enabled in order to debug
a specific template problem, then cleared once debugging is complete.
Builtin variables
~~~~~~~~~~~~~~~~~
...
...
docs/releases/1.6.txt
Dosyayı görüntüle @
d3a98255
...
...
@@ -233,7 +233,7 @@ Minor features
PostgreSQL.
* The :ttag:`blocktrans` template tag now respects
:setting:`TEMPLATE_STRING_IF_INVALID
` for variables not present in the
``TEMPLATE_STRING_IF_INVALID`
` for variables not present in the
context, just like other template constructs.
* ``SimpleLazyObject``\s will now present more helpful representations in shell
...
...
docs/releases/1.8.txt
Dosyayı görüntüle @
d3a98255
...
...
@@ -1021,6 +1021,7 @@ As a consequence of the multiple template engines refactor, several settings
are deprecated in favor of :setting:`TEMPLATES`:
* ``ALLOWED_INCLUDE_ROOTS``
* ``TEMPLATE_STRING_IF_INVALID``
``django.core.context_processors``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
...
docs/topics/templates.txt
Dosyayı görüntüle @
d3a98255
...
...
@@ -116,9 +116,9 @@ Use a dot (``.``) to access attributes of a variable.
In the above example, ``{{ section.title }}`` will be replaced with the
``title`` attribute of the ``section`` object.
If you use a variable that doesn't exist, the template system will insert
the value of the :setting:`TEMPLATE_STRING_IF_INVALID` setting, which is set
to ``''`` (the empty
string) by default.
If you use a variable that doesn't exist, the template system will insert
the
value of the ``string_if_invalid`` option, which is set to ``''`` (the empty
string) by default.
Note that "bar" in a template expression like ``{{ foo.bar }}`` will be
interpreted as a literal string and not using the value of the variable "bar",
...
...
tests/template_tests/test_callables.py
Dosyayı görüntüle @
d3a98255
...
...
@@ -53,7 +53,7 @@ class CallableVariablesTests(TestCase):
c
=
template
.
Context
({
"my_doodad"
:
my_doodad
})
# Since ``my_doodad.alters_data`` is True, the template system will not
# try to call our doodad but will use
TEMPLATE_STRING_IF_INVALID
# try to call our doodad but will use
string_if_invalid
t
=
template
.
Template
(
'{{ my_doodad.value }}'
)
self
.
assertEqual
(
t
.
render
(
c
),
''
)
t
=
template
.
Template
(
'{{ my_doodad.the_value }}'
)
...
...
tests/template_tests/tests.py
Dosyayı görüntüle @
d3a98255
...
...
@@ -258,7 +258,13 @@ class TemplateRegressionTests(SimpleTestCase):
with
self
.
assertRaises
(
urlresolvers
.
NoReverseMatch
):
t
.
render
(
c
)
@override_settings
(
TEMPLATE_STRING_IF_INVALID
=
'
%
s is invalid'
,
SETTINGS_MODULE
=
'also_something'
)
@override_settings
(
TEMPLATES
=
[{
'BACKEND'
:
'django.template.backends.django.DjangoTemplates'
,
'OPTIONS'
:
{
'string_if_invalid'
:
'
%
s is invalid'
},
}],
SETTINGS_MODULE
=
'also_something'
,
)
def
test_url_reverse_view_name
(
self
):
# Regression test for #19827
t
=
Template
(
'{
%
url will_not_match
%
}'
)
...
...
tests/template_tests/utils.py
Dosyayı görüntüle @
d3a98255
...
...
@@ -22,14 +22,14 @@ def setup(templates, *args):
"""
Runs test method multiple times in the following order:
TEMPLATE_DEBUG CACHED TEMPLATE_STRING_IF_INVALID
-----
--------- ------ ---------
-----------------
False
False
False
True
False
False INVALID
False
True INVALID
True
False
True
True
debug cached string_if_invalid
-----
------
-----------------
False False
False True
False False INVALID
False True INVALID
True False
True True
"""
for
arg
in
args
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment