python - 属性错误:“NoneType”对象在运行 Flask 时没有属性“app”
问题描述
我正在尝试触发我的烧瓶代码以每隔几分钟作为预定作业运行。该应用程序主要对来自多个站点的新闻进行 Webscraping 并将其显示为 HTML 网页。
当我使用apscheduler安排我的 Flask 函数时,我开始收到以下错误:
Job "news_page (trigger: interval[0:02:00], next run at: 2020-03-11 17:54:32 IST)" raised an exception
Traceback (most recent call last):
File "C:\Users\poudupa\PycharmProjects\SecNews\venv\lib\site-packages\apscheduler\executors\base.py", line 125, in run_job
retval = job.func(*job.args, **job.kwargs)
File "C:\Users\poudupa\PycharmProjects\SecNews\venv\Scripts\try_flask.py", line 20, in news_page
return render_template('news_screen.html', hackernews = hackernews, bcnews = bcnews, tpnews = tpnews, nsnews = nsnews, drnews = drnews, wsnews = wsnews)
File "C:\Users\poudupa\PycharmProjects\SecNews\venv\lib\site-packages\flask\templating.py", line 136, in render_template
ctx.app.update_template_context(context)
AttributeError: 'NoneType' object has no attribute 'app'
这是我的烧瓶代码:
from flask import Flask, request, render_template
from pullnews import *
from apscheduler.schedulers.background import BackgroundScheduler
import datetime
app = Flask(__name__)
app.debug=True
class Item:
def __init__(self, vals):
self.__dict__ = vals
@app.route('/')
def news_page():
hackernews = get_hackernews()
bcnews = get_bcnews()
tpnews = get_threatpost()
nsnews = get_nakedsecurity()
drnews = get_darkreading()
wsnews = get_welivesecurity()
return render_template('news_screen.html', hackernews = hackernews, bcnews = bcnews, tpnews = tpnews, nsnews = nsnews, drnews = drnews, wsnews = wsnews)
sched = BackgroundScheduler(daemon=True)
sched.add_job(news_page, 'interval', minutes=2)
sched.start()
if __name__ == '__main__':
app.run()
如何解决此错误?当我在没有调度程序作业的情况下手动运行 Flask 代码时,不会发生这种情况。
解决方案
推荐阅读
- php - 如何在 laravel 5.8 中上传图片时添加水印
- python - 无法加载 Python 包的子模块:ModuleNotFoundError: No module named
- r - 如何使用“绘图”功能控制 x 轴上的日期标签?
- c# - 在 Unity 中与游戏对象发生碰撞时如何让我的玩家加速?
- sql - 将返回的记录类型解析为 PostgreSql 中的多个列
- reactjs - 无法从 Firestore 获取数据以响应应用程序
- javascript - 数据类型的问题。试图将js类重写为php
- java - 使用 Java Kubernetes 客户端更新 ReplicaSet
- react-native - 从 API 加载数据时,在反应钩子中设置保存状态时出现问题?
- python - 如何在 matplotlib 中修复子图大小