1
目前,我的網站上有兩個下拉框,它們的值在表單提交時轉換爲兩個URL參數「myState」和「myShelter」。例如:如何使用Flask/Python 3處理URL中缺少的參數
https://www.atweather.org/forecast?myState=CT&myShelter=181
我現在添加第三個框,就會出現所謂的「myTrail」第三相應的參數。我的問題是:我怎麼能這樣做,如果有人直接提交一個只有兩個參數的URL,瀏覽器不會錯誤地發出錯誤的請求?我希望用戶能夠看到頁面,就像「myState」和「myShelter」被選中一樣,但「myTrail」只是未選中。
我試着尋找here和here,但我不認爲這些與我所問的情況完全相同。我在Python 3下使用Flask,目前處理這樣的路由,如下所示:
@app.route('/forecast', methods = ['GET'])
def forecast(loc_state = None, loc_id = None):
"""
Handles rendering of page after a location has been selected
"""
loc_state = request.args['myState']
loc_id = int(request.args['myShelter'])
...and a bunch of other logic for rendering the page...
在此先感謝您的任何見解!
我不明白我的問題是如何重複提到的問題。我可以看到在哪裏使用'dict'方法'get'可能對我有用,但我的問題的上下文根本不存在於該線程中。 –
'request.args'是一個字典子類。就像任何其他詞典一樣,如果你想嘗試在不產生錯誤的情況下獲得值,可以使用'get'。您使用Flask的事實並非真正相關,下面的答案與其他答案相同。 – davidism
另請注意,將這些參數添加到視圖函數並不重要,參數是從捕獲的url值填充的,而不是查詢參數。 – davidism