【发布时间】:2014-08-23 08:50:55
【问题描述】:
我正在运行我的问题之后的 python 网络应用程序。当我从命令行运行它时,一切正常。它调用程序的 main 部分加载 xml 文件,随后从 /search/term 路径发出的任何请求我的 Web 应用程序都会返回正确的值。但是,如果我从 apache 运行它,自然不会执行 main。在这种情况下,我如何打开文件一次,然后能够对每个请求进行查询?这是否可能,或者我应该将数据加载到数据库以获得这种持久性?理想情况下,我想避免数据库调用的复杂性,因为我正在执行简单的字符串搜索操作。 提前致谢(代码如下)
水手
from flask import Flask
from classes import History
from xmlReader import xmlReader
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
@app.route('/search/<term>')
def user(term):
(resultCoords, resultTerms) = historyObj.searchForTerm(term)
result = "<p>"
for t in resultTerms:
result = result + t.string + '<br>'
result = result + '</p>'
return result
if __name__ == '__main__':
reader = xmlReader("web_history.xml")
global historyList
historyList = reader.getData()
global historyObj
historyObj = History(historyList)
app.run()
【问题讨论】:
-
新手问题:为什么不能从
if __name__块中删除所有其他语句,而 if 块中只有app.run()?
标签: python web-applications flask