1
resposta

Este é o erro

UndefinedError
jinja2.exceptions.UndefinedError: 'url_form' is undefined

Traceback (most recent call last)
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\flask\app.py", line 2091, in __call__
return self.wsgi_app(environ, start_response)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\flask\app.py", line 2076, in wsgi_app
response = self.handle_exception(e)
           ^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\flask\app.py", line 2073, in wsgi_app
response = self.full_dispatch_request()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\flask\app.py", line 1518, in full_dispatch_request
rv = self.handle_user_exception(e)
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\flask\app.py", line 1516, in full_dispatch_request
rv = self.dispatch_request()
     ^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\flask\app.py", line 1502, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\jogoteca.py", line 40, in login
return render_template('login.html', proxima=proxima)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\flask\templating.py", line 147, in render_template
return _render(
       
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\flask\templating.py", line 128, in _render
rv = template.render(context)
     ^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\jinja2\environment.py", line 1301, in render
self.environment.handle_exception()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\jinja2\environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\templates\login.html", line 23, in top-level template code
<form method="POST" action="{{ url_form('autenticar') }}">
File "C:\Users\Meu Computador\PycharmProjects\jogoteca\venv\Lib\site-packages\jinja2\utils.py", line 83, in from_obj
if hasattr(obj, "jinja_pass_arg"):
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
jinja2.exceptions.UndefinedError: 'url_form' is undefined
The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.
To switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side.

You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:

dump() shows all variables in the frame
dump(obj) dumps all that's known about the object
1 resposta

Olá Gabriel! Tudo joia?

Com base no log que você compartilhou, parece que você está tendo um problema com a variável url_form, que está sendo utilizada no arquivo login.html. O erro indica que essa variável não está definida.

Uma possível solução para esse problema é verificar se você está passando corretamente essa variável no momento em que está renderizando o template login.html. Certifique-se de que você está passando a função correta para a função url_for no momento do redirecionamento para a página de login.

No mais, caso não consiga identificar o problema, compartilhe todo o seu projeto comigo, via GitHub ou Drive do Google.

Espero que essa sugestão possa te ajudar a resolver o problema! Se tiver mais alguma dúvida, é só me dizer.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.