Python 属性错误:';非类型';对象没有属性';app&x27;运行烧瓶时

Python 属性错误:';非类型';对象没有属性';app&x27;运行烧瓶时,python,flask,attributeerror,apscheduler,Python,Flask,Attributeerror,Apscheduler,我正试图触发我的flask代码以几分钟的间隔作为计划作业运行。该应用程序主要对来自多个站点的新闻进行Web垃圾处理,并将其显示为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

我正试图触发我的flask代码以几分钟的间隔作为计划作业运行。该应用程序主要对来自多个站点的新闻进行Web垃圾处理,并将其显示为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代码时,不会发生这种情况

为什么要在后台进程中呈现模板?这将如何实际渲染到浏览器?您的
news\u页面
功能是否需要拆分为2个?一个用来获取日程表上的最新新闻数据,一个用来显示最新新闻的路径?@Jon:你是说我需要两个函数,一个用于获取数据,另一个用于渲染?你能帮我写一个伪代码吗?谢谢大概你能清楚地说明你想对后台进程做什么吗?如果您正试图运行应用程序,这将使您能够通过根路由调用您的新闻页面功能,请检查以下内容:。