python template languages_Python template.TemplateSyntaxError方法代碼示例

本文整理匯總了Python中django.template.TemplateSyntaxError方法的典型用法代碼示例。如果您正苦於以下問題:Python template.TemplateSyntaxError方法的具體用法?Python template.TemplateSyntaxError怎麽用?Python template.TemplateSyntaxError使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在模塊django.template的用法示例。

在下文中一共展示了template.TemplateSyntaxError方法的26個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Python代碼示例。

示例1: do_form_field

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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" οnclick="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)

開發者ID:jpush,項目名稱:jbox,代碼行數:25,

示例2: do_get_available_languages

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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])

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:23,

示例3: do_get_language_info

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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])

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:19,

示例4: do_get_language_info_list

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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])

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:23,

示例5: do_get_current_language

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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])

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:19,

示例6: language

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:20,

示例7: localize_tag

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:25,

示例8: localtime_tag

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:23,代碼來源:tz.py

示例9: timezone_tag

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:25,代碼來源:tz.py

示例10: get_current_timezone_tag

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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])

開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:19,代碼來源:tz.py

示例11: ifusergroup

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:awemulya,項目名稱:kobo-predict,代碼行數:27,

示例12: ifappexists

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:awemulya,項目名稱:kobo-predict,代碼行數:26,

示例13: do_macro

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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]

開發者ID:awemulya,項目名稱:kobo-predict,代碼行數:21,

示例14: do_loadmacros

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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()

開發者ID:awemulya,項目名稱:kobo-predict,代碼行數:20,

示例15: wtm_include

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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]

)

開發者ID:jberghoef,項目名稱:wagtail-tag-manager,代碼行數:19,

示例16: do_get_language_info

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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])

開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:20,

示例17: do_get_language_info_list

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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])

開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:24,

示例18: language

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:19,

示例19: localize_tag

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:24,

示例20: localtime_tag

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:22,代碼來源:tz.py

示例21: timezone_tag

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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)

開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:24,代碼來源:tz.py

示例22: get_current_timezone_tag

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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])

開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:19,代碼來源:tz.py

示例23: test_add_to_builtins

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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({})))

開發者ID:arteria,項目名稱:django-compat,代碼行數:25,

示例24: show_pageitems

​點讚 6

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

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()

開發者ID:MicroPyramid,項目名稱:django-simple-pagination,代碼行數:18,

示例25: clean_content

​點讚 5

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

def clean_content(self):

content = self.cleaned_data.get('content')

try:

template.Template(content)

except template.TemplateSyntaxError, e:

raise forms.ValidationError(_('Syntax error in template: %s') % e)

開發者ID:fpsw,項目名稱:Servo,代碼行數:8,

示例26: annotate_form_field

​點讚 5

# 需要導入模塊: from django import template [as 別名]

# 或者: from django.template import TemplateSyntaxError [as 別名]

def annotate_form_field(parser, token):

"""

Set an attribute on a form field with the widget type

This means templates can use the widget type to render things differently

if they want to. Django doesn't make this available by default.

"""

args = token.split_contents()

if len(args) < 2:

raise template.TemplateSyntaxError(

"annotate_form_field tag requires a form field to be passed")

return FormFieldNode(args[1])

開發者ID:dulacp,項目名稱:django-accounting,代碼行數:14,

注:本文中的django.template.TemplateSyntaxError方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值