Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 Django在每次成功登录时运行一次代码_Python_Django_Authentication - Fatal编程技术网

Python Django在每次成功登录时运行一次代码

Python Django在每次成功登录时运行一次代码,python,django,authentication,Python,Django,Authentication,用户成功登录后,如何在django上运行一段代码?我无法将代码放入登录后显示的视图中,原因如下: 重定向是动态的,因此登录后的视图不同。视情况而定 在用户试图访问的页面上 我只想在用户登录后立即运行代码一次 我正在寻找最简单的pythonic方法来做到这一点?不编写自己的身份验证中间件是否可能?我不确定您为什么不能将其放在处理登录本身的视图中。当然,您已经编写了一些从用户名/密码表单获取输出并调用auth.login()的内容,因此这似乎是执行此操作的正确位置 或者,您可以为信号编写一个信号

用户成功登录后,如何在django上运行一段代码?我无法将代码放入登录后显示的视图中,原因如下:

  • 重定向是动态的,因此登录后的视图不同。视情况而定 在用户试图访问的页面上
  • 我只想在用户登录后立即运行代码一次

我正在寻找最简单的pythonic方法来做到这一点?不编写自己的身份验证中间件是否可能?

我不确定您为什么不能将其放在处理登录本身的视图中。当然,您已经编写了一些从用户名/密码表单获取输出并调用auth.login()的内容,因此这似乎是执行此操作的正确位置


或者,您可以为信号编写一个信号侦听器。

我使用标准的Django视图:Django.contrib.auth.views.login,因此我没有编写任何登录处理自己。我现在正在研究django信号监听器。信号监听器确实是一条路要走。