2014-11-24 20 views
0

如何打印是這樣的:如何僅使用POST方法打印輸出?

{ 
    username = admin 
    email = [email protected] 
    id=42 
} 

由於只有使用method = ['POST']和不使用render_template

PS:我已經做它['GET']

這裏是我的代碼運行:

from flask import Flask, jsonify, request 

app = Flask(__name__) 

@app.route('/', methods=['POST']) 

def index(): 
    if request.method == 'POST': 
     return jsonify(username="admin", 
         email="[email protected]", 
         id="42") 
    else: 
     if request.method == 'POST': 
     return jsonify(username="admin", 
         email="[email protected]", 
         id="42") 

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

而我得到的是一個405錯誤的方法。

回答

0

嘗試在GET請求上返回表單(如biobirdman所述)。不知道爲什麼你需要條件語句request.method == 'POST'。路線中的參數methods=['POST']應該就足夠了。

試試這個:

from flask import Flask, jsonify, request 

app = Flask(__name__) 

@app.route('/', methods=['POST']) 
def index(): 
    return jsonify(username="admin", email="[email protected]", id="42") 

@app.route('/', methods=['GET']) 
def form(): 
    return "<form action='/' method='POST'>" \ 
      "<input type='submit'>" \ 
      "</form>" 

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