pallets-eco / flask-admin

Simple and extensible administrative interface framework for Flask
https://flask-admin.readthedocs.io
BSD 3-Clause "New" or "Revised" License
5.74k stars 1.57k forks source link

UndefinedError: 'get_url' is undefined 1.5.3 #1858

Open Anupam02 opened 5 years ago

Anupam02 commented 5 years ago

hello , I am using flask-admin since it was version 1.4.0 and it worked perfectly fine. and now I am trying to upgrade all by packages. but flask-admin seems to break for the current version it has installed on my system. ( 1.5.3) . following is the stack trace .

[127.0.0.1 - - [09/May/2019 14:18:31] "GET /static/admin/bootstrap/bootstrap3/js/bootstrap.min.js?v=3.3.5 HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2019 14:18:31] "GET /static/admin/vendor/moment.min.js?v=2.9.0 HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2019 14:18:31] "GET /static/admin/vendor/select2/select2.min.js?v=3.5.2 HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2019 14:18:33] "GET /login HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_restful/__init__.py", line 269, in error_router
    return original_handler(e)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_restful/__init__.py", line 269, in error_router
    return original_handler(e)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_security/decorators.py", line 230, in wrapper
    return f(*args, **kwargs)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_security/views.py", line 89, in login
    **_ctx('login'))
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_security/core.py", line 528, in render_template
    return render_template(*args, **kwargs)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/templating.py", line 135, in render_template
    context, ctx.app)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask/templating.py", line 117, in _render
    rv = template.render(context)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/anupam/BitBucket/mediaserver-2.0/api_server/app/templates/security/login_user.html", line 2, in top-level template code
    {% from "security/_macros.html" import render_field, render_field_with_errors, render_checkbox_field %}
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_admin/templates/bootstrap3/admin/master.html", line 1, in top-level template code
    {% extends admin_base_template %}
  File "/Users/anupam/BitBucket/mediaserver-2.0/api_server/app/templates/my_master.html", line 1, in top-level template code
    {% extends 'admin/base.html' %}
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_admin/templates/bootstrap3/admin/base.html", line 14, in top-level template code
    {% block head_css %}
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_admin/templates/bootstrap3/admin/base.html", line 15, in block "head_css"
    <link href="{{ admin_static.url(filename='bootstrap/bootstrap3/swatch/{swatch}/bootstrap.min.css'.format(swatch=config.get('FLASK_ADMIN_SWATCH', 'default')), v='3.3.5') }}" rel="stylesheet">
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/jinja2/runtime.py", line 579, in _invoke
    rv = self._func(*arguments)
  File "/Users/anupam/.ve/mediaserver-2.0-wwdhSPMv/lib/python2.7/site-packages/flask_admin/templates/bootstrap3/admin/static.html", line 2, in template
    {{ get_url('admin.static', *varargs, **kwargs) }}
UndefinedError: 'get_url' is undefined](url)

any my current pipenv lock value

-i https://pypi.org/simple
aniso8601==6.0.0
babel==2.6.0
blinker==1.4
boto3==1.9.144
boto==2.49.0
botocore==1.12.144
certifi==2019.3.9
chardet==3.0.4
click==7.0
configparser==3.7.4
docutils==0.14
flask-admin==1.5.3
flask-babelex==0.9.3
flask-login==0.4.1
flask-mail==0.9.1
flask-mongoengine==0.9.5
flask-principal==0.4.0
flask-restful==0.3.7
flask-security==3.0.0
flask-wtf==0.14.2
flask==1.0.2
futures==3.2.0 ; python_version == '2.6' or python_version == '2.7'
idna==2.8
itsdangerous==1.1.0
jinja2==2.10.1
jmespath==0.9.4
markupsafe==1.1.1
mongoengine==0.17.0
passlib==1.7.1
pydocstyle==3.0.0
pymongo==3.8.0
python-dateutil==2.8.0 ; python_version >= '2.7'
pytz==2019.1
requests==2.21.0
s3transfer==0.2.0
six==1.12.0
snowballstemmer==1.2.1
speaklater==1.3
unicodecsv==0.14.1
urllib3==1.24.3 ; python_version == '2.7'
werkzeug==0.15.2
wtforms==2.2.1

my old working pip freeze

aniso8601==6.0.0
blinker==1.4
boto==2.45.0
boto3==1.9.137
botocore==1.12.137
certifi==2019.3.9
chardet==3.0.4
Click==7.0
docutils==0.14
Flask==0.12.2
Flask-Admin==1.4.0
Flask-Login==0.3.2
Flask-Mail==0.9.1
flask-mongoengine==0.7.5
Flask-Principal==0.4.0
Flask-RESTful==0.3.5
Flask-Script==2.0.5
Flask-Security==1.7.5
Flask-WTF==0.14
futures==3.2.0
idna==2.5
iso8601==0.1.12
itsdangerous==1.1.0
Jinja2==2.10
jmespath==0.9.4
m3u8==0.3.0
MarkupSafe==1.1.1
mongoengine==0.10.9
passlib==1.7.1
pep8==1.7.1
psutil==5.0.1
pymediainfo==2.1.5
pymongo==3.4.0
python-dateutil==2.8.0
pytz==2019.1
requests==2.18.1
s3transfer==0.2.0
six==1.12.0
unicodecsv==0.14.1
urllib3==1.21.1
uWSGI==2.0.14
Werkzeug==0.12.2
WTForms==2.1
kontur commented 2 years ago

👉 Ran into the same. Seem to trip up here, in my case trying to make it work together with Flask-Security: https://github.com/flask-admin/flask-admin/commit/282c7c516f3fbb25720f24c158d4d77400b4303e#diff-2e258ceeada57f0119586496d42d31a2aa634b5a6ac259818b119db01f30d599

samuelhwilliams commented 1 month ago

Do you still have this issue? Could you share a reproducible example if so?