Flask自定义登录和模板渲染

时间:2014-10-31 15:58:04

标签: python authentication model-view-controller flask flask-login

我是学习Python进行Web开发的新手,并决定将Flask作为我现在的首选框架。我选择这个主要是因为它在Web开发方面的基本方法,我希望尽可能多地自定义我的Web应用程序。我在PHP中创建了一个非常基本的MVC框架,并希望在Python中创建类似的东西。我正在研究一些与数据库交互的方法,并添加用户登录/注册支持,我原来的想法是,我想用我自己的方法和对象做什么,而不是。类似于我在PHP中所做的,所以我可以学习如何有效地为长期生产项目开发自己的后端。在一些研究中,我发现了Flask中的基本对象,例如Login ManagerLogin-FormFlask-Admin等。我不喜欢使用这些包装得很好的东西的想法,我很少控制并没有开发自定义。

使用这种东西我也觉得我并没有学习所有这些东西是如何在最低级别上运作的,所以当项目环境发生变化和最大灵活性时,我无法重现他们以后给予我的一些好处,需要定制,可维护性和效率。显然我现在不在那个位置,但我DO知道如何在PHP中编写这个后端内容,我只是想知道这是否意味着在Python / Flask中我自己管理会话和身份验证,或者如果我的想法完全不属于ocontext而且它甚至不接近管理相同的东西。

2 个答案:

答案 0 :(得分:5)

了解身份验证如何在较低级别工作是一个非常好的主意 - 这一点非常重要,因为许多人从未学过这些东西,而且非常有趣!

我建议你做的是看官方的Flask教程(http://flask.pocoo.org/docs/0.10/tutorial/),因为它涵盖了很多(直接与会话等一起工作)。

然而,我推荐的是在生产中使用这种东西。

使用您自己的身份验证代码几乎不是一个好主意 - 依靠受到其他人审核的受到良好支持的库来解决安全问题会更好。

在Flask世界中你有几个选择:

在这3个人中,我真的很喜欢Flask-Stormpath - 但是当我写这个时我非常偏颇=)

Flask-Stormpath支持最广泛的自定义/等等,并允许您随心所欲地做任何事情。

希望有所帮助!

答案 1 :(得分:0)

Flask官方文档有一些应用示例。其中一个是MiniTwit微型Twitter克隆。由于它是一个完整的应用程序,您可以找到很多您正在寻找的东西。如果您想要做出更大的贡献,请尝试Full Stack Python Flask教程