使用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. 烧瓶405方法错误
- 4. Python烧瓶和AJAX - 在python方法更新进度栏
- 5. 如何处理Python烧瓶重定向
- 6. Python烧瓶重定向错误
- 7. Python烧瓶用户登录重定向
- 8. 烧瓶 - 自定义错误处理
- 9. Python烧瓶动态图像
- 10. (Python)烧瓶 - request.args.get返回NoneType
- 11. Python的烧瓶包裹
- 12. 结合python烧瓶和express.js
- 13. Python烧瓶广播消息
- 14. 会议与烧瓶(python)
- 15. Python烧瓶打印键
- 16. Python烧瓶Mailchimp注册
- 17. Python:用MAMP安装烧瓶
- 18. Python烧瓶中的自定义文件夹
- 19. “的方法不允许”在烧瓶
- 20. 询问在烧瓶peewee一些方法
- 21. 方法不允许在烧瓶
- 22. 烧瓶python断言错误:未实现方法'GET'
- 23. 烧瓶不宁从烧瓶SQLAlchemy的
- 24. 烧瓶:返回烧瓶响应对象后重定向
- 25. 烧瓶导入错误“无法导入名称”烧瓶'“
- 26. 烧瓶PyCharm语法错误
- 27. EVE - 定义自定义烧瓶控制器
- 28. POST方法重定向后出现烧瓶错误
- 29. 无法确定SQlite的方言,下面的烧瓶教程
- 30. 烧瓶virtualenv
谢谢,示例应用程序非常有用 – Noor