2017-09-15 26 views
-1

我的藍圖方法,只要我進入方法的參數失敗:瓶藍圖方法不接受神社參數

TypeError: get_streetreport() missing 1 required positional argument: 'number' 

從神社中調用:

<form class="form-horizontal" action = "{{ url_for('street_reports.get_streetreport', number=number) }}" method="post"> 

僅供參考,我可以看到變量號碼可以在同一個呼叫頁面上訪問:

<p>You have entered "{{ number }}" in the property name/number field on the previous page.</p> 

這是所謂的藍圖方法:

@street_report_blueprint.route('/street_report', methods=['POST', 'GET']) 
def get_streetreport(number): 
    mainselection = request.form['MainlistRadios'] 
    return render_template('street_reports/street_report.jinja2', mainselection = mainselection) 

如果我刪除從get_streetreport參數(),頁面加載本地主機上的罰款。 '數字'是一個字符串變量。發送任何幫助。

回答

0

更新:您需要在路徑路徑中聲明參數。

@street_report_blueprint.route('/street_report/<number>', …)

如果number預計將是一個整數,這將是.../<int:number>

http://flask.pocoo.org/docs/0.12/quickstart/#variable-rules

可變部件添加到您可以標記這些特殊的段作爲URL。然後這個部分作爲關鍵字參數傳遞給你的函數。可選地,通過指定規則可以使用轉換器。


您需要的數量參數傳遞到render_template

return render_template(....., number=number)

+0

OK我已經改變了最後一行來測試這一點: '迴歸render_template(' street_reports/street_report.jinja2' ,數量=數字)「,但仍然是相同的錯誤信息。 –

+0

謝謝@Ivan我的理解是action ='「{{url_for('street_reports.get_streetreport',number = number)}}」'將參數'number'傳遞給get_streetreport方法,並且錯誤表示get_streetreport缺少參數。我假設錯誤不是在render_template行中,但我是Flask的初學者。如果我知道需要什麼,我會包含更多信息。再次投票反對,我已努力搜索Google和SO以找到答案,但未找到答案。同樣,我已盡我所能地標題。 –

+0

Ps我認爲downvote是沒有根據的。爲你+1。祝你好運! –