Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask自定义登录和模板呈现_Python_Authentication_Model View Controller_Flask_Flask Login - Fatal编程技术网

Python Flask自定义登录和模板呈现

Python Flask自定义登录和模板呈现,python,authentication,model-view-controller,flask,flask-login,Python,Authentication,Model View Controller,Flask,Flask Login,我刚开始学习Python进行web开发,现在已经决定使用Flask作为我的首选框架。我选择它主要是因为它在web开发上的基本方法,我希望尽可能多地定制我的web应用程序,并且尽可能依靠我自己。我已经用PHP制作了一个非常基本的MVC框架,并希望用Python制作类似的东西。我正在研究一些与数据库交互的方法,并添加用户登录/注册支持,我最初的想法是,我想用我自己的方法和对象来定制这些,而不是什么。与我在PHP中所做的类似,因此我可以学到很多关于为长期生产项目高效开发自己的后端的知识。在一些研究中,

我刚开始学习Python进行web开发,现在已经决定使用Flask作为我的首选框架。我选择它主要是因为它在web开发上的基本方法,我希望尽可能多地定制我的web应用程序,并且尽可能依靠我自己。我已经用PHP制作了一个非常基本的MVC框架,并希望用Python制作类似的东西。我正在研究一些与数据库交互的方法,并添加用户登录/注册支持,我最初的想法是,我想用我自己的方法和对象来定制这些,而不是什么。与我在PHP中所做的类似,因此我可以学到很多关于为长期生产项目高效开发自己的后端的知识。在一些研究中,我发现了Flask中的基本对象,如
登录管理器
登录表单
Flask管理员
,等等。我不喜欢使用这些我几乎无法控制且没有开发自定义功能的精心包装的东西


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

官方文档中有一些应用程序示例。其中之一是一个微推特克隆。因为它是一个完整的应用程序,你可以找到你想要的很多东西。如果您想做得更好,请尝试教程

了解低级别身份验证的工作原理是一个非常好的主意——这一点尤其重要,因为许多人从未学习过这方面的知识,而且它非常有趣

我建议您看一看正式的Flask教程(),因为它涵盖了很多内容(直接使用会话等)

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

使用您自己的身份验证代码几乎从来都不是一个好主意——最好依赖一个支持良好的库,该库已经过其他人的安全问题审核

在烧瓶世界中,您有两种选择:

  • 烧瓶登录:
  • 安全:
  • 风暴路径:
在这三个方面中,我真的很喜欢Flask Stormpath——但我在写这三个方面时非常有偏见=)

Flask Stormpath支持最广泛的定制/等等,并允许您使用它做任何您想做的事情


希望有帮助

我建议您使用flask loginExcellent回复谢谢。就我拥有的“选择”(Flask登录、Flask安全、Flask Stormpath)而言,从技术上讲,这些选项/选择是否只是我可以导入并安装到现有项目中的插件或对象?如果是这样的话,我想在某个时候,如果有足够的经验/专业知识,人们可以开发一个非常基本的身份验证框架,并在此基础上构建,也可以将其放在简历上并展示经验……这些都是可以用来将身份验证添加到Flask应用程序中的插件——它们是按功能列出的(Flask登录是最简单的,如果您想要一个简单的体验,那么最好在上面构建)。