python——在django中,一个类如果不是一个模型,它会工作得很好吗?

dojqjjoe  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(323)

我目前正在开发一个应用程序,需要使用简单的otp身份验证 djangomodels.py 应用程序的 accounts 我创建了一个类来存储otp,而不将其作为模型,如下所示,

class temp:
    def __init__(self,otp):
        self.otp = otp
        print(self.otp)

views.py 代码是这样的,

g = globals()
... some code    
g["user"+ str(request.POST['username'])] = models.temp(the_otp)

这在任何情况下都很管用 localhost ,如果我将此部署到 heroku . 如果没有建议一些其他的方式来存储的otp暂时不做模型。提前谢谢。

ckocjqey

ckocjqey1#

不,这样不行。您可能会看到它在本地开发服务器上运行良好,但由于它使用全局变量,因此此方法面临几个问题:
假设出于某种原因需要重新启动服务器。现在发生了什么?好吧,你的全局变量现在丢失了,你的用户可能会面临不便,因为他们现在需要重新生成他们的otp,并感到奇怪,为什么他们的otp由于某种原因无效。。。
我们运行多个进程来有效地服务于用户的请求,用户的请求可能会被给予任何正在运行的进程。这里发生了什么?好吧,我们的otp是在一个进程上生成的,用户现在正试图将它提交给另一个进程,但又面临着不便。
可能会出现更多类似的问题。
一般来说,全局变量在web服务器中更糟糕。

相关问题