2014-10-19 146 views
0

我有这个Python代码。每当我启动webbserver并转到网站时,我不会收到“测试”消息,只是发现内部服务器错误。怎么来的?我究竟做错了什么。每当我去的网站的GET请求权,所以它应该进入域()函数,给我的文字“测试”GET请求在Python中不起作用

@app.route("/", methods=['GET', 'POST']) 
def hello(): 

    if request.method == 'GET': 
     domain() 
    else: 
     test() 

def domain(): 
    return "test" 

def test(): 
    data = request.get_json() 
    with open("text.txt", "w") as text_file: 
     pickle.dump(data, text_file) 


if __name__ == "__main__": 
    app.run() 

回答

0
  1. 确保代码导入request

    from flask import request 
    
  2. hello功能不返回domaintest的返回值。 (同为test功能):

    @app.route("/", methods=['GET', 'POST']) 
    def hello(): 
        if request.method == 'GET': 
         return domain() 
        else: 
         return test() 
    
+0

由于它的工作!我已经进口了,我只是没想到,我需要表现出来,但换来的是这个问题。将尽快接受它作为答案!谢谢! – 2014-10-19 12:22:44

0

因为你没有返回任何东西,可以在网页上显示。你的return "test"只是返回字符串,该字符串没有去哪里。

你需要的东西,如:

if request.method == 'GET': 
    return render_template('page.html', domain=domain())