Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError: macro was invoked with two values for the special caller argument. This is most likely a bug. #678

Closed
avrong opened this issue Feb 2, 2017 · 2 comments

Comments

@avrong
Copy link

avrong commented Feb 2, 2017

Expected Behavior

Macro works!

Actual Behavior

TypeError: macro 'google_analytics' was invoked with two values for the special caller argument. This is most likely a bug.

Template Code

<!-- macros.html -->
{% macro google_analytics() %}
  <!-- Google Analytics script -->
{% endmacro %}


<!-- basic.html -->
{% extends 'layout/base.html' %}
{% from 'macros.html' import google_analytics %}

{% block grid %}
  {% block content %}{% endblock %}
  {% call google_analytics() %}{% endcall %}
{% endblock %}

Full Traceback

127.0.0.1 - - [02/Feb/2017 21:21:14] "GET / HTTP/1.1" 500 -
Traceback (most recent call last):
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\app.py", line 1994, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\_compat.py", line 33, in reraise
    raise value
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\_compat.py", line 33, in reraise
    raise value
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "d:\Project\source\views\site.py", line 236, in index
    return render_template('site/index.html', form=form)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\templating.py", line 134, in render_template
    context, ctx.app)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\flask\templating.py", line 116, in _render
    rv = template.render(context)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\jinja2\environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\jinja2\environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Compilers and Interpreters\Python35\lib\site-packages\jinja2\_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "d:\Project\source\templates\site\index.html", line 1, in top-level template code
    {% extends 'layout/basic.html' %}
  File "d:\Project\source\templates\layout\basic.html", line 2, in top-level template code
    {% from 'macros.html' import google_analytics %}
  File "d:\Project\source\templates\layout\base.html", line 29, in top-level template code
    {% block grid %}{% endblock %}
  File "d:\Project\source\templates\layout\basic.html", line 6, in block "grid"
    {% call google_analytics() %}{% endcall %}
TypeError: macro 'google_analytics' was invoked with two values for the special caller argument.  This is most likely a bug.

Your Environment

  • Python version: Python 3.5.2
  • Jinja version: Jinja2 (2.9.5)
@davidism
Copy link
Member

davidism commented Feb 2, 2017

{{ google_analytics() }}

@ThiefMaster
Copy link
Member

{% call %} doesn't seem to work with a template that doesn't use caller(). So your template is wrong, but Jinja should raise a meaningful error instead.

@avrong avrong closed this as completed Feb 13, 2018
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants