我正在爲一個個人項目構建一個web應用程序,我希望能夠將JSON提供給api調用和HTML到網站。我可以使用Flask和flask-restul將JSON返回給API調用,但將HTML返回給瀏覽器?
我的代碼是非常類似於此:
class TestAPI(Resource):
def get(self):
return {'hello': 'world'}
def post(self):
data = request.form["data"]
result = do_something(data)
return {'result': result}
@mod.route("/")
def test():
return render_template("test.html")
@mod.route("/do_something", methods=['GET','POST'])
def analyzer():
form = TestForm()
if request.method == 'POST':
data = request.form.get("data")
result = do_something(data)
return render_template("result.html", result=result)
return render_template("do_something.html", form=form)
我希望這將讓用戶瀏覽網頁和表單提交的數據,已經操縱的數據,而在另一個HTML頁面返回(使用jinja模板)。我希望它也可以讓用戶捲曲終端來做同樣的事情,除了獲取JSON值。
好像會發生什麼取決於我在其中定義事物的順序:
from app.views.test import test
api.add_resource(TestAPI, '/do_something')
當它的成立是這樣,我得到的一切HTML(在瀏覽器中,甚至從捲曲)。如果我將其反轉,我就會得到JSON。我有兩種方法可以獲得這兩種方式嗎? (在瀏覽器中使用HTML,否則使用JSON)
嗨,謝謝你的迴應!如何在燒瓶中檢查用戶代理?它是否會以http請求的標題出現? – Inbl
哦,我看到你編輯!聽起來像是一個標題。你會建議不要使用燒瓶 - 然後只是決定哪個返回在每個燒瓶路線? – Inbl
@lnbl我不是特別熟悉燒瓶,但我只是檢查每個燒瓶路徑中的頭文件,並且也編寫邏輯 – Bobby