我正在尝试使用django内置的'default‘过滤器,使用下面的代码
{% load sekizai_tags static compress i18n %}
[...]
<title>{{ title|default:"nothing" }}</title>
但是它给了我以下例外
django.template.base.TemplateSyntaxError: default requires 2 arguments, 1 provided
我正在对我的模板后端使用以下设置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
str(APPS_DIR.path('templates')),
],
'OPTIONS': {
'debug': DEBUG,
'loaders': [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
],
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'allauth.account.context_processors.account',
'allauth.socialaccount.context_processors.socialaccount',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'sekizai.context_processors.sekizai',
],
},
},
]
我的编辑器将代码标记为无效,但我会像检查https://docs.djangoproject.com/en/1.8/ref/templates/builtins/一样检查一千次
其中这是作为示例给出的:
{{ value|default:"nothing" }}
我还尝试更改title var的名称,以确保它不是保留关键字。
发布于 2016-02-08 08:48:18
确保冒号后面没有空格。
这是正确的:
{{ title|default:"nothing" }}
这会抛出一个异常:
{{ title|default: "nothing" }}
https://stackoverflow.com/questions/30662793
复制相似问题