Từ câu hỏi:dữ liệu streaming với Python và Flask nâng RuntimeError: ngoài làm việc yêu cầu bối cảnh
Streaming data with Python and Flask
Mã đang chạy bình thường, và tôi muốn thay đổi chức năng g()
, nhưng các thông số yêu cầu có thể không được chuyển vào g()
và nó tăng RuntimeError: working outside of request context.
Tôi đã gỡ lỗi trong một thời gian dài và tôi không biết cách sửa đổi, bạn có thể giúp xem lại mã và giải thích lý do đằng sau lỗi không?
Cảm ơn.
Mã của tôi là:
@app.route('/username', methods=['GET', 'POST'])
def index():
req =request
print req
print "111------------" + req.method + "\n"
def ggg1(req):
print req # the req not my pass into the req....
print "444------------" + req.method + "\n"
if req.method == 'POST':
if request.form['username']:
urlList = request.form['username'].splitlines()
i = 0
for url in urlList():
i += 1
resultStr = chkListPageContent(url, getUrlContent(url), "script")
print i, resultStr
yield i, resultStr
print req
print "222------------" + req.method + "\n"
return Response(stream_template('index.html', data=ggg1(req)))
['copy_current_request_context()' không trợ giúp] (https://gist.github.com/6d2150f0eaf793320f6d) để nhận ngữ cảnh yêu cầu bên trong trình tạo. Bạn có thể thử tạo một vài máy phát điện: một cho 'GET', một cho' POST' không sử dụng 'request' và truyền dữ liệu cần thiết như tham số,' if request.method == 'POST': def ggg_post (url_list) : yield "something" return Response (ggg_post (url_list = request.form ['username']. splitlines())) else: return ... ' – jfs