r00*_*0fl 5 python django django-templates django-models
我的 views.py 移交了一个名为“preSelect”的变量,其中包含一个整数值。
在模板中,我想在 If 语句中使用该 Integer 来检查当前 for 循环计数器是否小于或大于我的值。
{% if forloop.counter <= {{ preSelect }} %}
<td><input type="checkbox" name="checks" id="1" value={{ row.0 }} checked/></td>
{% else %}
<td><input type="checkbox" name="checks" id="1" value={{ row.0 }} /></td>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
但是,这会返回以下错误:
环境:
请求方式:POST 请求地址:http : //127.0.0.1 : 8000/
Django 版本:1.10.2 Python 版本:2.7.11 已安装的应用程序:['django.contrib.admin'、'django.contrib.auth'、'django.contrib.contenttypes'、'django.contrib.sessions'、'django .contrib.messages', 'django.contrib.staticfiles', 'testsetcreation'] 安装的中间件:['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common .CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrame]Options
模板错误:在模板 D:\Django\testsetcreation\templates\testsetcreation\testsetView.html 中,第 61 行错误无法解析剩余部分:'{{' from '{{' 51 : Comment 52 :
SW Version 53 : HW Version
54 : ABP 55 :
项目 56 : 57 :
58 : 59 : {% for row in rows %} 60 : 61 : {% if forloop.counter <= {{ preSelect }} %} 62 :
63 : {% else %} 64 :
65 : {% endif %} 66 :
{{ row.1 }} 67 : {{ row.2 }} 68 : 69 :
70:{{row.3}} 71:追溯:
文件“c:\Python27\lib\site-packages\django\core\handlers\exception.py”在内部 39. response = get_response(request)
文件“c:\Python27\lib\site-packages\django\core\handlers\base.py” in _get_response 187. response = self.process_exception_by_middleware(e, request)
_get_response 185 中的文件“c:\Python27\lib\site-packages\django\core\handlers\base.py”。响应=wrapped_callback(request, *callback_args, **callback_kwargs)
文件 "D:\Django\testsetcreation\views.py" in testsetView 102. return render(request, 'testsetcreation/testsetView.html', context)
文件 "c:\Python27\lib\site-packages\django\shortcuts.py" in render 30. content = loader.render_to_string(template_name, context, request, using=using)
文件“c:\Python27\lib\site-packages\django\template\loader.py”在render_to_string 67.template = get_template(template_name, using=using)
文件"c:\Python27\lib\site-packages\django\template\loader.py" in get_template 21. return engine.get_template(template_name)
文件"c:\Python27\lib\site-packages\django\template\backends\django.py" in get_template 39. return Template(self.engine.get_template(template_name), self)
文件"c:\Python27\lib\site-packages\django\template\engine.py" in get_template 160.template, origin = self.find_template(template_name)
文件"c:\Python27\lib\site-packages\django\template\engine.py" in find_template 134. name, template_dirs=dirs, skip=skip,
get_template 中的文件“c:\Python27\lib\site-packages\django\template\loaders\base.py” 44.contents, origin, origin.template_name, self.engine,
init 191 中的文件“c:\Python27\lib\site-packages\django\template\base.py” 。 self.nodelist = self.compile_nodelist()
compile_nodelist 233 中的文件“c:\Python27\lib\site-packages\django\template\base.py”。返回 parser.parse()
解析 518 中的文件“c:\Python27\lib\site-packages\django\template\base.py”。 raise self.error(token, e)
异常类型:TemplateSyntaxError at / 异常值:无法解析余数:'{{' from '{{'
在 Jinja 中,当您使用 {%%} 标记时,不要将变量放在 {{}} 内
{% if x > y %}
# Do something
{% endif %}
Run Code Online (Sandbox Code Playgroud)
所以你的情况的代码是
{% if forloop.counter <= preSelect %}
# Do Something
{% endif %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7030 次 |
| 最近记录: |