Не получается открывать другие .html страницы (Flask)
Использую Flask. Он не даёт переходить на другие страницы (blog & about). Самостоятельно проблему выявить не смог. Выводит ошибку 404:
Not Found. The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
Вот код, может кто найдёт ошибку:
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/blog')
def blog():
return render_template('blog.html')
@app.route('/about')
def about():
return render_template('about.html')
if __name__ == '__main__':
app.run(debug=True, port=8080, use_reloader=False)
Код навигационной ссылки:
<div class="container">
<div class="row">
<div class="col-xl-12 col-md-12 col-sm-4"></div>
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Главная</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/templates/blog.html">Блог</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/templates/about.html">Контакты</a>
</li>
</ul>
</div>
</div>
</div>
Ответы (1 шт):
Автор решения: Albert
→ Ссылка
Поменяйте ссылки в href. Так как index.html и другие файлы у вас находятся в одной папке, то /templates не должно быть. Но в идеале укзаывать следующим образом:
<a class="nav-link" href="{{url_for('blog')}}">Блог</a>
Так фласк будет открывать url для функции blog, внутри которой вы и генерируете blog.html