我已经使用Flask大约一年了,最近开始使用它的蓝图。我用flask构建了许多数据可视化Web项目,以前从未遇到过问题。现在我确实有问题,唯一的变化是使用蓝图。
我收到以下错误消息:
OSError:文件b'../ project / csv_data / data / Video_Games_Sales.csv'不存在
我的文件结构如下: [![在此处输入图片描述] [1]] [1]
routes.py文件如下所示:
mod = Blueprint('csv_data', __name__,template_folder='templates', static_folder='static',
static_url_path='/static')
@mod.route('/csv_home')
def homepage():
return render_template('csv_data/csv_index.html')
@mod.route('/_by_max_rating')
def by_state_shape():
game_data = pd.read_csv('../project/csv_data/data/Video_Games_Sales.csv')
print(game_data.head())
data.py文件如下所示: (请注意,如果我运行data.py,则可以显示数据。只有当我在route.py文件中运行代码时,才会出现问题。)
import csv
from csv import writer
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
class Data():
def __init__(self):
self.game_data = pd.read_csv('data/Video_Games_Sales.csv')
def get_rating_based_year_genre(self):
print(self.game_data.head())
init .py如下所示:
from flask import Flask, session, jsonify, redirect, url_for, escape, render_template, request, flash
app = Flask(__name__)
from project.csv_data.routes import mod
from project.site.routes import mod
from project.scraping.routes import mod
app.register_blueprint(site.routes.mod)
app.register_blueprint(csv_data.routes.mod)
app.register_blueprint(scraping.routes.mod)
一切正常,除非我执行ajax调用,并且代码到达以下行:
game_data = pd.read_csv('../project/csv_data/data/Video_Games_Sales.csv')
过去,我已经完成了与此类似的项目。唯一的区别是我使用的是蓝图,并认为它存在一些我不知道的布线问题。同样,在data.py文件中调用csv文件也可以。只有当我需要在routes.py文件中使用它时,所有内容才瓦解。任何帮助都会很棒!谢谢。