Flask 1.1.x - базовая маршрутизация с использованием шаблонов - PullRequest
0 голосов
/ 10 ноября 2019

Итак, я следую учебному пособию по Flask от LinkedIn: «Полная разработка веб-стека с помощью Flask». И я столкнулся с этим вопросом на тему маршрутизации с использованием шаблонов. Я не знаю, что вызывает проблему, так как я очень плохо знаком с Flask, и я ничего не видел об этом в документации. То, что я думаю, это то, что я, должно быть, написал что-то, что Flask не может запустить, с точки зрения синтаксиса, так как это собственные файлы Flask, которые создают проблемы из компилятора. Я уверен, что проблема связана с маршрутизацией, потому что ошибка возникает после того, как я запустил «запуск колбы» в командной строке и затем перезагрузил страницу.

Сообщения об ошибках:

   File
 "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\app.py",
 line 2446, in wsgi_app
     response = self.full_dispatch_request()   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\app.py",
 line 1951, in full_dispatch_request
     rv = self.handle_user_exception(e)   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\app.py",
 line 1820, in handle_user_exception
     reraise(exc_type, exc_value, tb)   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\_compat.py",
 line 39, in reraise
     raise value   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\app.py",
 line 1949, in full_dispatch_request
     rv = self.dispatch_request()   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\app.py",
 line 1935, in dispatch_request
     return self.view_functions[rule.endpoint](**req.view_args)   File "C:\Users\user\Desktop\flask\enrollment\application\routes.py", line
 7, in index
     return render_template('index.html')   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\templating.py",
 line 137, in render_template
     return _render(   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\templating.py",
 line 120, in _render
     rv = template.render(context)   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\jinja2\asyncsupport.py",
 line 76, in render
     return original_render(self, *args, **kwargs)   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\jinja2\environment.py",
 line 1008, in render
     return self.environment.handle_exception(exc_info, True)   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\jinja2\environment.py",
 line 780, in handle_exception
     reraise(exc_type, exc_value, tb)   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\jinja2\_compat.py",
 line 37, in reraise
     raise value.with_traceback(tb)   File "C:\Users\user\Desktop\flask\enrollment\application\templates\index.html",
 line 16, in 
     {% include "includes/nav.html" %}   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\jinja2\environment.py",
 line 1005, in render
     return concat(self.root_render_func(self.new_context(vars)))   File
 "C:\Users\user\Desktop\flask\enrollment\application\templates\index.html",
 line 14, in root
        File "C:\Users\user\Desktop\flask\enrollment\application\templates\includes\nav.html",
 line 13, in root   File
 "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\jinja2\runtime.py",
 line 262, in call
     return __obj(*args, **kwargs)   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\helpers.py",
 line 370, in url_for
     return appctx.app.handle_url_build_error(error, endpoint, values)   File
 "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\app.py",
 line 2215, in handle_url_build_error
     reraise(exc_type, exc_value, tb)   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\_compat.py",
 line 39, in reraise
     raise value   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\flask\helpers.py",
 line 357, in url_for
     rv = url_adapter.build(   File "c:\users\user\desktop\flask\enrollment\venv\lib\site-packages\werkzeug\routing.py",
 line 2020, in build
     raise BuildError(endpoint, values, method, self) werkzeug.routing.BuildError: Could not build url for endpoint
 'courses'. Did you mean 'index' instead?
 127.0.0.1 - - [10/Nov/2019 09:42:23] "GET /index HTTP/1.1" 500 -

rout.py

from application import app
from flask import render_template


@app.route('/index')
def index():
    return render_template('index.html')

index.html:

<!DOCTYPE html>
<html>
<head>
    <title>UTA - Home Page</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
          integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link rel="stylesheet" href="static/css/main.css"/>
</head>
<body>

<div class="container-fluid text-center top-container">
    <img src="static/images/uta-logo-200.png">
</div>
<div class="container">

    {% include "includes/nav.html" %}

    <div class="row">
        <div class="col-md-12 text-center">
            <h1>Welcome to Universal Tech Academy.</h1>

            {% if login %}
            <h3>Let's get started.</h3>
            {% else %}
            <p>Already registered? <a href="{{url_for('login') }}">Login</a></p>
            {% endif %}

            </div>
    </div>
</div>

{% include "includes/footer.html" %}
</body>
</html>

1 Ответ

2 голосов
/ 10 ноября 2019

Не удалось создать URL для конечных точек «курсов». Вы имели в виду «индекс» вместо этого? 127.0.0.1 - - [10 / Nov / 2019 09:42:23] «GET / index HTTP / 1.1» 500 -

werkzeug пытается создать конечную точку маршрутизации для «курсов», ноне находит маршрутизируемой конечной точки для него.

вам нужно создать другой маршрут в вашем коде фляги, чтобы он работал, как вы сделали с индексом:

@app.route('/courses')
def courses():
    return render_template('courses.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...