Python django.template.TemplateSyntaxError() Examples
The following are 30
code examples of django.template.TemplateSyntaxError().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.template
, or try the search function
.
Example #1
Source File: i18n.py From bioforum with MIT License | 6 votes |
def do_get_available_languages(parser, token): """ This will store a list of available languages in the context. Usage:: {% get_available_languages as languages %} {% for language in languages %} ... {% endfor %} This will just pull the LANGUAGES setting from your setting file (or the default settings) and put it into the named variable. """ # token.split_contents() isn't useful here because this tag doesn't accept variable as arguments args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError("'get_available_languages' requires 'as variable' (got %r)" % args) return GetAvailableLanguagesNode(args[2])
Example #2
Source File: paginate.py From django-simple-pagination with MIT License | 6 votes |
def show_pageitems(_, token): """Show page items. Usage: .. code-block:: html+django {% show_pageitems per_page %} """ # Validate args. if len(token.contents.split()) != 1: msg = '%r tag takes no arguments' % token.contents.split()[0] raise template.TemplateSyntaxError(msg) # Call the node. return ShowPageItemsNode()
Example #3
Source File: tz.py From bioforum with MIT License | 6 votes |
def get_current_timezone_tag(parser, token): """ Store the name of the current time zone in the context. Usage:: {% get_current_timezone as TIME_ZONE %} This will fetch the currently active time zone and put its name into the ``TIME_ZONE`` context variable. """ # token.split_contents() isn't useful here because this tag doesn't accept variable as arguments args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError("'get_current_timezone' requires " "'as variable' (got %r)" % args) return GetCurrentTimezoneNode(args[2])
Example #4
Source File: test_compat.py From django-compat with MIT License | 6 votes |
def test_add_to_builtins(self): from compat import add_to_builtins # Explicit import of tags template = Template( '{% load test_app_tags %}' '{% my_tag %}' ) self.assertIn('Return value of my_tag', template.render(Context({}))) # No import with self.assertRaises(TemplateSyntaxError): template = Template( '{% my_tag %}' ) template.render(Context({})) # No import but add_to_builtins call add_to_builtins('compat.tests.test_app.templatetags.test_app_tags') template = Template( '{% my_tag %}' ) self.assertIn('Return value of my_tag', template.render(Context({})))
Example #5
Source File: paginate.py From django-simple-pagination with MIT License | 6 votes |
def show_pageitems(_, token): """Show page items. Usage: .. code-block:: html+django {% show_pageitems per_page %} """ # Validate args. if len(token.contents.split()) != 1: msg = '%r tag takes no arguments' % token.contents.split()[0] raise template.TemplateSyntaxError(msg) # Call the node. return ShowPageItemsNode()
Example #6
Source File: wtforms.py From RSSNewsGAE with Apache License 2.0 | 6 votes |
def do_form_field(parser, token): """ Render a WTForms form field allowing optional HTML attributes. Invocation looks like this: {% form_field form.username class="big_text" onclick="alert('hello')" %} where form.username is the path to the field value we want. Any number of key="value" arguments are supported. Unquoted values are resolved as template variables. """ parts = token.contents.split(' ', 2) if len(parts) < 2: error_text = '%r tag must have the form field name as the first value, followed by optional key="value" attributes.' raise template.TemplateSyntaxError(error_text % parts[0]) html_attrs = {} if len(parts) == 3: raw_args = list(args_split(parts[2])) if (len(raw_args) % 2) != 0: raise template.TemplateSyntaxError('%r tag received the incorrect number of key=value arguments.' % parts[0]) for x in range(0, len(raw_args), 2): html_attrs[str(raw_args[x])] = Variable(raw_args[x + 1]) return FormFieldNode(parts[1], html_attrs)
Example #7
Source File: wtforms.py From jbox with MIT License | 6 votes |
def do_form_field(parser, token): """ Render a WTForms form field allowing optional HTML attributes. Invocation looks like this: {% form_field form.username class="big_text" onclick="alert('hello')" %} where form.username is the path to the field value we want. Any number of key="value" arguments are supported. Unquoted values are resolved as template variables. """ parts = token.contents.split(' ', 2) if len(parts) < 2: error_text = '%r tag must have the form field name as the first value, followed by optional key="value" attributes.' raise template.TemplateSyntaxError(error_text % parts[0]) html_attrs = {} if len(parts) == 3: raw_args = list(args_split(parts[2])) if (len(raw_args) % 2) != 0: raise template.TemplateSyntaxError('%r tag received the incorrect number of key=value arguments.' % parts[0]) for x in range(0, len(raw_args), 2): html_attrs[str(raw_args[x])] = Variable(raw_args[x + 1]) return FormFieldNode(parts[1], html_attrs)
Example #8
Source File: i18n.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def do_get_available_languages(parser, token): """ This will store a list of available languages in the context. Usage:: {% get_available_languages as languages %} {% for language in languages %} ... {% endfor %} This will just pull the LANGUAGES setting from your setting file (or the default settings) and put it into the named variable. """ # token.split_contents() isn't useful here because this tag doesn't accept variable as arguments args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError("'get_available_languages' requires 'as variable' (got %r)" % args) return GetAvailableLanguagesNode(args[2])
Example #9
Source File: i18n.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def do_get_language_info_list(parser, token): """ This will store a list of language information dictionaries for the given language codes in a context variable. The language codes can be specified either as a list of strings or a settings.LANGUAGES style tuple (or any sequence of sequences whose first items are language codes). Usage:: {% get_language_info_list for LANGUAGES as langs %} {% for l in langs %} {{ l.code }} {{ l.name }} {{ l.name_local }} {{ l.bidi|yesno:"bi-directional,uni-directional" }} {% endfor %} """ args = token.split_contents() if len(args) != 5 or args[1] != 'for' or args[3] != 'as': raise TemplateSyntaxError("'%s' requires 'for sequence as variable' (got %r)" % (args[0], args[1:])) return GetLanguageInfoListNode(parser.compile_filter(args[2]), args[4])
Example #10
Source File: i18n.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def do_get_current_language(parser, token): """ This will store the current language in the context. Usage:: {% get_current_language as language %} This will fetch the currently active language and put it's value into the ``language`` context variable. """ # token.split_contents() isn't useful here because this tag doesn't accept variable as arguments args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError("'get_current_language' requires 'as variable' (got %r)" % args) return GetCurrentLanguageNode(args[2])
Example #11
Source File: i18n.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def language(parser, token): """ This will enable the given language just for this block. Usage:: {% language "de" %} This is {{ bar }} and {{ boo }}. {% endlanguage %} """ bits = token.split_contents() if len(bits) != 2: raise TemplateSyntaxError("'%s' takes one argument (language)" % bits[0]) language = parser.compile_filter(bits[1]) nodelist = parser.parse(('endlanguage',)) parser.delete_first_token() return LanguageNode(nodelist, language)
Example #12
Source File: l10n.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def localize_tag(parser, token): """ Forces or prevents localization of values, regardless of the value of `settings.USE_L10N`. Sample usage:: {% localize off %} var pi = {{ 3.1415 }}; {% endlocalize %} """ use_l10n = None bits = list(token.split_contents()) if len(bits) == 1: use_l10n = True elif len(bits) > 2 or bits[1] not in ('on', 'off'): raise TemplateSyntaxError("%r argument should be 'on' or 'off'" % bits[0]) else: use_l10n = bits[1] == 'on' nodelist = parser.parse(('endlocalize',)) parser.delete_first_token() return LocalizeNode(nodelist, use_l10n)
Example #13
Source File: tz.py From bioforum with MIT License | 6 votes |
def timezone_tag(parser, token): """ Enable a given time zone just for this block. The ``timezone`` argument must be an instance of a ``tzinfo`` subclass, a time zone name, or ``None``. If it is ``None``, the default time zone is used within the block. Sample usage:: {% timezone "Europe/Paris" %} It is {{ now }} in Paris. {% endtimezone %} """ bits = token.split_contents() if len(bits) != 2: raise TemplateSyntaxError("'%s' takes one argument (timezone)" % bits[0]) tz = parser.compile_filter(bits[1]) nodelist = parser.parse(('endtimezone',)) parser.delete_first_token() return TimezoneNode(nodelist, tz)
Example #14
Source File: tz.py From bioforum with MIT License | 6 votes |
def localtime_tag(parser, token): """ Force or prevent conversion of datetime objects to local time, regardless of the value of ``settings.USE_TZ``. Sample usage:: {% localtime off %}{{ value_in_utc }}{% endlocaltime %} """ bits = token.split_contents() if len(bits) == 1: use_tz = True elif len(bits) > 2 or bits[1] not in ('on', 'off'): raise TemplateSyntaxError("%r argument should be 'on' or 'off'" % bits[0]) else: use_tz = bits[1] == 'on' nodelist = parser.parse(('endlocaltime',)) parser.delete_first_token() return LocalTimeNode(nodelist, use_tz)
Example #15
Source File: tz.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def localtime_tag(parser, token): """ Forces or prevents conversion of datetime objects to local time, regardless of the value of ``settings.USE_TZ``. Sample usage:: {% localtime off %}{{ value_in_utc }}{% endlocaltime %} """ bits = token.split_contents() if len(bits) == 1: use_tz = True elif len(bits) > 2 or bits[1] not in ('on', 'off'): raise TemplateSyntaxError("%r argument should be 'on' or 'off'" % bits[0]) else: use_tz = bits[1] == 'on' nodelist = parser.parse(('endlocaltime',)) parser.delete_first_token() return LocalTimeNode(nodelist, use_tz)
Example #16
Source File: tz.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def timezone_tag(parser, token): """ Enables a given time zone just for this block. The ``timezone`` argument must be an instance of a ``tzinfo`` subclass, a time zone name, or ``None``. If is it a time zone name, pytz is required. If it is ``None``, the default time zone is used within the block. Sample usage:: {% timezone "Europe/Paris" %} It is {{ now }} in Paris. {% endtimezone %} """ bits = token.split_contents() if len(bits) != 2: raise TemplateSyntaxError("'%s' takes one argument (timezone)" % bits[0]) tz = parser.compile_filter(bits[1]) nodelist = parser.parse(('endtimezone',)) parser.delete_first_token() return TimezoneNode(nodelist, tz)
Example #17
Source File: tz.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def get_current_timezone_tag(parser, token): """ Stores the name of the current time zone in the context. Usage:: {% get_current_timezone as TIME_ZONE %} This will fetch the currently active time zone and put its name into the ``TIME_ZONE`` context variable. """ # token.split_contents() isn't useful here because this tag doesn't accept variable as arguments args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError("'get_current_timezone' requires " "'as variable' (got %r)" % args) return GetCurrentTimezoneNode(args[2])
Example #18
Source File: l10n.py From bioforum with MIT License | 6 votes |
def localize_tag(parser, token): """ Force or prevents localization of values, regardless of the value of `settings.USE_L10N`. Sample usage:: {% localize off %} var pi = {{ 3.1415 }}; {% endlocalize %} """ use_l10n = None bits = list(token.split_contents()) if len(bits) == 1: use_l10n = True elif len(bits) > 2 or bits[1] not in ('on', 'off'): raise TemplateSyntaxError("%r argument should be 'on' or 'off'" % bits[0]) else: use_l10n = bits[1] == 'on' nodelist = parser.parse(('endlocalize',)) parser.delete_first_token() return LocalizeNode(nodelist, use_l10n)
Example #19
Source File: filters.py From kobo-predict with BSD 2-Clause "Simplified" License | 6 votes |
def ifusergroup(parser, token): """ Check to see if the currently logged in user belongs to one or more groups Requires the Django authentication contrib app and middleware. Usage: {% ifusergroup Admins %} ... {% endifusergroup %}, or {% ifusergroup Admins Clients Programmers Managers %} ... {% else %} ... {% endifusergroup %} """ try: tokens = token.split_contents() groups = [] groups += tokens[1:] except ValueError: raise template.TemplateSyntaxError("Tag 'ifusergroup' requires at least 1 argument.") nodelist_true = parser.parse(('else', 'endifusergroup')) token = parser.next_token() if token.contents == 'else': nodelist_false = parser.parse(('endifusergroup',)) parser.delete_first_token() else: nodelist_false = template.NodeList() return GroupCheckNode(groups, nodelist_true, nodelist_false)
Example #20
Source File: filters.py From kobo-predict with BSD 2-Clause "Simplified" License | 6 votes |
def ifappexists(parser, token): """ Conditional Django template tag to check if one or more apps exist. Usage: {% ifappexists tag %} ... {% endifappexists %}, or {% ifappexists tag inventory %} ... {% else %} ... {% endifappexists %} """ try: tokens = token.split_contents() apps = [] apps += tokens[1:] except ValueError: raise template.TemplateSyntaxError("Tag 'ifappexists' requires at least 1 argument.") nodelist_true = parser.parse(('else', 'endifappexists')) token = parser.next_token() if token.contents == 'else': nodelist_false = parser.parse(('endifappexists',)) parser.delete_first_token() else: nodelist_false = template.NodeList() return AppCheckNode(apps, nodelist_true, nodelist_false)
Example #21
Source File: filters.py From kobo-predict with BSD 2-Clause "Simplified" License | 6 votes |
def do_macro(parser, token): try: args = token.split_contents() tag_name, macro_name, args = args[0], args[1], args[2:] except IndexError: m = ("'%s' tag requires at least one argument (macro name)" % token.contents.split()[0]) raise template.TemplateSyntaxError(m) # TODO: could do some validations here, # for now, "blow your head clean off" nodelist = parser.parse(('endkwacro',)) parser.delete_first_token() ## Metadata of each macro are stored in a new attribute ## of 'parser' class. That way we can access it later ## in the template when processing 'usemacro' tags. _setup_macros_dict(parser) parser._macros[macro_name] = DefineMacroNode(macro_name, nodelist, args) return parser._macros[macro_name]
Example #22
Source File: filters.py From kobo-predict with BSD 2-Clause "Simplified" License | 6 votes |
def do_loadmacros(parser, token): try: tag_name, filename = token.split_contents() except IndexError: m = ("'%s' tag requires at least one argument (macro name)" % token.contents.split()[0]) raise template.TemplateSyntaxError(m) if filename[0] in ('"', "'") and filename[-1] == filename[0]: filename = filename[1:-1] t = get_template(filename) macros = t.nodelist.get_nodes_by_type(DefineMacroNode) ## Metadata of each macro are stored in a new attribute ## of 'parser' class. That way we can access it later ## in the template when processing 'usemacro' tags. _setup_macros_dict(parser) for macro in macros: parser._macros[macro.name] = macro return LoadMacrosNode()
Example #23
Source File: i18n.py From bioforum with MIT License | 6 votes |
def language(parser, token): """ This will enable the given language just for this block. Usage:: {% language "de" %} This is {{ bar }} and {{ boo }}. {% endlanguage %} """ bits = token.split_contents() if len(bits) != 2: raise TemplateSyntaxError("'%s' takes one argument (language)" % bits[0]) language = parser.compile_filter(bits[1]) nodelist = parser.parse(('endlanguage',)) parser.delete_first_token() return LanguageNode(nodelist, language)
Example #24
Source File: i18n.py From bioforum with MIT License | 6 votes |
def do_get_current_language(parser, token): """ This will store the current language in the context. Usage:: {% get_current_language as language %} This will fetch the currently active language and put it's value into the ``language`` context variable. """ # token.split_contents() isn't useful here because this tag doesn't accept variable as arguments args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError("'get_current_language' requires 'as variable' (got %r)" % args) return GetCurrentLanguageNode(args[2])
Example #25
Source File: i18n.py From bioforum with MIT License | 6 votes |
def do_get_language_info_list(parser, token): """ This will store a list of language information dictionaries for the given language codes in a context variable. The language codes can be specified either as a list of strings or a settings.LANGUAGES style list (or any sequence of sequences whose first items are language codes). Usage:: {% get_language_info_list for LANGUAGES as langs %} {% for l in langs %} {{ l.code }} {{ l.name }} {{ l.name_translated }} {{ l.name_local }} {{ l.bidi|yesno:"bi-directional,uni-directional" }} {% endfor %} """ args = token.split_contents() if len(args) != 5 or args[1] != 'for' or args[3] != 'as': raise TemplateSyntaxError("'%s' requires 'for sequence as variable' (got %r)" % (args[0], args[1:])) return GetLanguageInfoListNode(parser.compile_filter(args[2]), args[4])
Example #26
Source File: i18n.py From bioforum with MIT License | 6 votes |
def do_get_language_info(parser, token): """ This will store the language information dictionary for the given language code in a context variable. Usage:: {% get_language_info for LANGUAGE_CODE as l %} {{ l.code }} {{ l.name }} {{ l.name_translated }} {{ l.name_local }} {{ l.bidi|yesno:"bi-directional,uni-directional" }} """ args = token.split_contents() if len(args) != 5 or args[1] != 'for' or args[3] != 'as': raise TemplateSyntaxError("'%s' requires 'for string as variable' (got %r)" % (args[0], args[1:])) return GetLanguageInfoNode(parser.compile_filter(args[2]), args[4])
Example #27
Source File: wtm_tags.py From wagtail-tag-manager with BSD 3-Clause "New" or "Revised" License | 6 votes |
def wtm_include(parser, token): try: args = token.contents.split(None)[1:] nodelist = None if len(args) == 1: nodelist = parser.parse(("wtm_endinclude",)) parser.delete_first_token() args.append("") return IncludeNode(nodelist, *args) except ValueError: raise template.TemplateSyntaxError( "%r tag requires arguments" % token.contents.split()[0] )
Example #28
Source File: i18n.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def do_get_language_info(parser, token): """ This will store the language information dictionary for the given language code in a context variable. Usage:: {% get_language_info for LANGUAGE_CODE as l %} {{ l.code }} {{ l.name }} {{ l.name_local }} {{ l.bidi|yesno:"bi-directional,uni-directional" }} """ args = token.split_contents() if len(args) != 5 or args[1] != 'for' or args[3] != 'as': raise TemplateSyntaxError("'%s' requires 'for string as variable' (got %r)" % (args[0], args[1:])) return GetLanguageInfoNode(parser.compile_filter(args[2]), args[4])
Example #29
Source File: paginate.py From django-simple-pagination with MIT License | 5 votes |
def show_pages(_, token): """Show page links. Usage: .. code-block:: html+django {% show_pages %} It is just a shortcut for: .. code-block:: html+django {% get_pages %} {{ pages }} You can set ``ENDLESS_PAGINATION_PAGE_LIST_CALLABLE`` in your *settings.py* to a callable, or to a dotted path representing a callable, used to customize the pages that are displayed. See the *__unicode__* method of ``endless_pagination.models.PageList`` for a detailed explanation of how the callable can be used. Must be called after ``{% paginate objects %}``. """ # Validate args. if len(token.contents.split()) != 1: msg = '%r tag takes no arguments' % token.contents.split()[0] raise template.TemplateSyntaxError(msg) # Call the node. return ShowPagesNode()
Example #30
Source File: tests.py From django-seo with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_missing_class_name_when_required(self): try: self.compilesTo("{% get_metadata %}", "This should have raised an exception") except TemplateSyntaxError: pass