werkzeug.routing.BuildError: Не удалось создать URL для конечной точки 'home'. Вместо этого вы имели в виду «upload_file»?
render_template не возвращает файл html, мой текущий код выглядит так в файле rout.py
from flask import render_template , url_for , flash , redirect , request
from flaskblog import app , db , bcrypt
from flaskblog.forms import RegistrationForm , LoginForm
from flaskblog.models import User , Post
from flask_login import login_user
from flask import Flask, jsonify
from flask import Flask, request, jsonify
import pandas as pd
@app.route("/upload", methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
print(request.files['file'])
f = request.files['file']
data_xls = pd.read_excel(f)
return data_xls.to_html()
return'''
<!doctype html>
<title>Upload an excel file</title>
<h1>Excel file upload (csv, tsv, csvz, tsvz only)</h1>
<form action="" method=post enctype=multipart/form-data>
<p><input type=file name=file><input type=submit value=Upload>
</form>
'''
@app.route('/')
@app.route('/newabout')
def about():
return render_template('newabout.html' , title = "About")
Когда я вернулся html код напрямую работает, но не возвращает файл. html через render_template
My newabout. html файл - это просто заголовок h1
{%extends "base.html"%}
{%block body%}
<h1>About Page</h1>
{%endblock%}
My Файл init .py выглядит следующим образом
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
app = Flask(__name__)
app.config['SECRET_KEY'] ='8501dc446e46a15de4390e177dfa973d'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(app)
bcrypt = Bcrypt(app)
login_manager = LoginManager(app)
from flaskblog import routes
Моя текущая древовидная структура выглядит следующим образом: все файлы .py находятся в flaskblog
E :. ├───.vscode ├───flaskblog │ ├───статический │ ├─── шаблоны 10 └─── pycache └─── pycache
Вот моя база. html file
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<!-- <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='main.css')}}"> -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
{%if title %}
<title>Flask Blog - {{title}} </title>
{%else%}
<title>Flask Blog</title>
{% endif %}
</head>
<body>
<header
class="site-header" >
<div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
<img src="https://pbs.twimg.com/profile_images/1148174028756176896/NJ0owBSm.jpg" alt="Eobi Logo" style="width:120px;height:120px;">
<a class="my-0 mr-md-auto p-2 text-dark" href="/">EOBI</a>
<nav class="my-2 my-md-0 mr-md-3">
<a class="p-2 text-dark" href="{{url_for('home')}}">Home</a>
<a class="p-2 text-dark" href="{{url_for('about')}}">About</a>
</nav>
<nav class="my-2 my-md-2 mr-md-3">
<a class="btn btn-primary" href="{{url_for('register')}}">Sign up</a>
<a class="btn btn-outline-primary" href="{{url_for('login')}}">Sign in</a>
</nav>
</div>
</header>
<main role="main" class="container">
<div class="row">
<div class="col-md-8">
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages%}
{%for category , message in messages %}
<div class="alert alert-{{category}}">
{{message}}
</div>
{%endfor%}
{%endif%}
{%endwith%}
{% block body%} {% endblock body%}
</div>
</div>
</main>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>
</html>
Я все еще новичок ie, поэтому любая помощь будет высоко оценена, спасибо:)