我试图将 index.html 文件保存在模板文件夹中,但它仍然有效。任何帮助将不胜感激。这是我的代码:我正在使用 sypder。
#importing neccessary libs
import numpy as np
from flask import Flask,request,render_template
from flask_cors import CORS
import os
import joblib
import pickle
import flask
import newspaper
from newspaper import Article
import urllib
import nltk
nltk.download('punkt')
#loading flash and assigning the model variable
app= Flask(__name__)
CORS(app)
app=flask.Flask(__name__,template_folder='templates')
#handle
with open('model.pk1','rb') as handle:
model= pickle.load(handle)
@app.route('/')
定义主(): return render_template('templates/index.html')
#receiving the input url from the user and using web scrapping to
extract th news content
@app.route('/predict',methods=['GET','POST'])
def predict():
url=request.get_data(as_text=True)[5:]
url=urllib.parse.unquote(url)
article=Article(str(url))
article.download()
article.parse()
article.nlp()
news=article.summary
#passing the news article to the model and returning whether it
is Fake or Real
pred=model.predict([news])
return render_template('index.html', prediction_text='The news
is "{}"'.format(pred[0]))
if __name__=="__main__":
port=int(os.environ.get('PORT',5000))
app.run(port=port,debug=True, use_reloader=False)
答案 0 :(得分:0)
我不确定您的项目结构如何,但可能有两个原因:
这可以改变:
print("distance:", d[min_idx])
distance: [2.4721]
进入:
app= Flask(__name__)
CORS(app)
app=flask.Flask(__name__,template_folder='templates')
并且由于您将模板文件夹保护为 app= Flask(__name__, template_folder='templates')
CORS(app)
,因此 templates
应该更改为 return render_template('templates/index.html')
。
否则,您将呈现 return render_template('index.html')
。
另一个原因可能是路径。
既然是相对路径,想一想是否可以是templates/templates/index.html
或../templates
。