[英]How to call a method from a different blueprint in Flask?
我有一個帶有多個藍圖模塊的應用程序。
我想從一個不同的藍圖路線中調用通常會返回視圖或渲染模板的方法(路徑)。
怎么能正確完成?
謝謝。
視圖只是功能; 導入該函數並直接調用它,傳入它可能已定義的任何路由參數。
藍圖的作用是更容易在一個公共前綴下注冊一組路由,對其模板和靜態資源進行分組,並處理該組的請求相關事件(請求已啟動,請求已完成等)。 但是你如何調用一個視圖並沒有改變。
例如,如果foo
藍圖中有路由,則在foo.py
模塊中:
@foo.route('/bar/<id>')
def bar(id):
return something_done_with_id(id)
您可以導入該功能並在其他地方使用它:
import foo
@baz.route('/spam/ham/eggs'):
def baz():
return foo.bar(42)
這里bar
從URL中獲取一個名為id
的參數,因此在調用view函數時,我們需要傳入該參數的值。
請注意,任何藍圖before_request
, after_request
和context_processor
函數都不會執行(在路由時發生),Blueprint特定的錯誤處理程序也不會生效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.