Opened 7 years ago
Closed 7 years ago
#29740 closed Bug (duplicate)
Wrong lines shown on ValueError when rendering template with a bad for-loop
| Reported by: | Vasili Korol | Owned by: | nobody |
|---|---|---|---|
| Component: | Template system | Version: | 1.11 |
| Severity: | Normal | Keywords: | template, valueerror, reporting |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Consider the following setup:
- There is a top level template (main.html):
<!DOCTYPE html> {% load staticfiles %} {% load compress %} {% load cms_tags sekizai_tags %} {% load solo_tags %} {% load lists %} {% load userextras %} {% get_solo 'maintenance.SiteConfiguration' as site_config %} ... Long template body .... {% block content %} {% endblock %} ...
- A child template "taskclasses.html" that extends "main.html":
{% extends ajax|yesno:"ajax.html,main.html" %} {% load staticfiles %} {% load compress %} {% load userextras %} ... {% block content %} ... {% for group, task_classes in task_classes_grouped %} .... {% endfor %} ... {% endblock %}
In my case, task_classes_grouped was a dict, so the "for" loop in "taskclasses.html" is invalid. This expectedly results in a ValueError, but the exception is reported wrongly:
ValueError at /projects/1/taskclasses
Need 2 values to unpack in for loop; got 1.
Request Method: GET
Request URL: http://devel:20062/projects/1/taskclasses
Django Version: 1.11.15
Exception Type: ValueError
Exception Value:
Need 2 values to unpack in for loop; got 1.
Exception Location: /usr/local/lib/python3.4/dist-packages/django/template/defaulttags.py in render, line 207
Python Executable: /usr/local/bin/uwsgi
Python Version: 3.4.3
Python Path:
['/www/deploy/lib',
'/data/programs/openbabel/lib/python3.4/site-packages/',
'/www/deploy/apps/',
'.',
'',
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload',
'/usr/local/lib/python3.4/dist-packages',
'/usr/lib/python3/dist-packages',
'/www/deploy']
Server time: Thu, 6 Sep 2018 11:52:03 +0000
...
Error during template rendering
In template /www/deploy/viking/templates/main.html, error at line 0
Need 2 values to unpack in for loop; got 1.
1 <!DOCTYPE html>
2
3 {% load staticfiles %}
4 {% load compress %}
5 {% load cms_tags sekizai_tags %}
6 {% load solo_tags %}
7 {% load lists %}
8 {% load userextras %}
9
10 {% get_solo 'maintenance.SiteConfiguration' as site_config %}
This does not include the line that actually failed, and the template reference is wrong (parent template instead of the child).
Note:
See TracTickets
for help on using tickets.
Looks like a duplicate of #28935.