使用Flask時,是否必須將所有方法定義在一個文件中,因爲我試圖移動另一個文件中的某些方法定義,但404未找到錯誤。Python燒瓶方法定義
2
A
回答
1
你可以,如果您的應用程序獲得足夠大,以保證只要該文件已爲您創建的Flask
對象的引用,但是移動聲明到其他文件,你或許應該開始考慮Flask Blueprints
4
你不必在一個文件中定義所有內容。這將是一個更大的應用程序非常糟糕:)閱讀official short doc,並看到那裏的建議(其中包括前面的答案中提到的藍圖,哪個是組織大型應用程序的真正好方法)。
關於如何組織和創建更大的應用程序,還有一個不錯的sample app。可能也有幫助;)
其他方法,類和不是Flask特定的所有東西都是簡單的Python,所以也不需要將它們放在一個文件中。
0
正如Flask所建議的,您可以使用Blueprint來做更大的應用。我喜歡創建模塊化應用程序的方法,這些方法不會太相互耦合。所以你要做你的藍圖,它大部分都具有應用程序的功能,如路由或before_request。
simple_page = Blueprint('simple',__name__,template_folder='templates')
@simple_page.route('/', defaults={'page': 'index'})
@simple_page.route('/<page>')
def show(page):
try:
return render_template('pages/%s.html' % page)
except TemplateNotFound:
abort(404)
然後你註冊它:
app = Flask(__name__)
app.register_blueprint(simple_page)
約藍圖有些美中不足的是:
- 藍圖都沒有的應用程序,不要期望他們的行爲像這樣。
- 藍圖可以定義他們自己的模板文件夾,這是有用的,你可以通過特定的模板和按照每個藍圖的文件夾模塊來訂購你的應用程序。
你應該永遠記得附加'。'當試圖得到一個 資源:( '指數 ')
url_for #For燒瓶應用
url_for(' 指數')#For藍圖
藍圖是在瓶相當新的解決方案編寫這個答案的時間是多個文件夾中模塊化應用程序的最佳解決方案,並共享所有應用程序中相同的Flask對象。
相關問題
- 1. Python,燒瓶方法不允許
- 2. 蟒燒瓶類定義語法
- 3. 燒瓶和python
- 4. 燒瓶405方法錯誤
- 5. Python燒瓶和AJAX - 在python方法更新進度欄
- 6. Python燒瓶用戶登錄重定向
- 7. Python燒瓶重定向錯誤
- 8. 如何處理Python燒瓶重定向
- 9. Python燒瓶render_template無效語法
- 10. 燒瓶自定義「找不到」代碼
- 11. 燒瓶 - 自定義錯誤處理
- 12. Python(燒瓶)和MQTT監聽
- 13. Python的燒瓶包裹
- 14. Python燒瓶打印鍵
- 15. 結合python燒瓶和express.js
- 16. Python燒瓶Mailchimp註冊
- 17. Python:用MAMP安裝燒瓶
- 18. 燒瓶登錄錯誤,python
- 19. 會議與燒瓶(python)
- 20. (Python)燒瓶 - request.args.get返回NoneType
- 21. Python燒瓶廣播消息
- 22. Python燒瓶:Route vs add_url_rule,SSE
- 23. Python燒瓶上的外鍵
- 24. Python燒瓶request.form不工作
- 25. Python燒瓶動態圖像
- 26. Python燒瓶中的自定義文件夾
- 27. Python燒瓶+角度錯誤:'StoreController未定義'
- 28. 詢問在燒瓶peewee一些方法
- 29. 方法不允許在燒瓶
- 30. 「的方法不允許」在燒瓶
謝謝,示例應用程序非常有用 – Noor