Django中每个用户的独立密钥

时间:2018-09-18 08:23:06

标签: django

我是django的新手,并且正在编写一个供内部使用的小型网站。基本功能是获得许可并访问用户的Google帐户(照片,驱动器等)。

在我的views.py中,我需要在不同的功能之间共享一些变量(例如,对Google帐户的访问密钥)。我通过使用全局变量(仅具有数据字段的类)来实现此目的。 nicley的这种解决方案仅解决了一个大问题:如果两个用户同时使用该网站,则他们都将访问同一个Google帐户!

如何确保每个用户都有自己的私人数据? (按用户,我指的是在其个人计算机上访问该网站的人)

谢谢Shimi

1 个答案:

答案 0 :(得分:1)

在典型的python Web应用程序(Django,Flask等)生产设置中,您的代码将至少由六个进程执行,并且任何请求都可以由这些进程中的任何一个服务,因此您不能依赖于全局变量来执行在请求之间存储/共享状态-全局变量是按进程的,并且您不知道哪个进程将满足用户的下一个请求。这就是为什么我们使用数据库来保留数据并使它们可用于所有服务器进程的原因。正如丹尼尔(Daniel)在评论中提到的,如果您不使用数据库,那么您对Django(以及Flask等)的了解也不会太远。

长话短说:

  

如何确保每个用户都有自己的私人数据

非常简单:为用户的“自己的私人数据”编写一个(或多个)模型。