我使用Django创建了一个Web应用程序,该应用程序将信息存储在python数组中,供用户通过前端访问。现在的问题是,由于我是通过heroku部署的,因此您不能在多台设备上使用该网站,否则从一台设备中选择的选项会影响所有设备的网站数据。
我将如何做到使用户体验与众不同/无关?如何更改views.py(或其他组件),以便Web应用程序为每个用户提供一个“会话”?
这是针对在heroku上运行的Django Web应用程序。该应用程序适用于我的学校,类似于皇家战斗型站点。用户可以选择网站上显示的人员,从而将其从存储在内存中的python词典中删除,然后将其放入另一个词典中以备后用。问题是,如果有多个人同时使用该站点,则他们将访问同一词典。我不知道如何解决这个问题。
“ processor.py”
names, accepted = list(), list()
# names contains many names of people, accepted is empty
def accept_person(person):
if person in names:
accepted.append(person)
names.remove(person)
else:
a = difflib.get_close_matches(person, names)
if len(a) > 1:
accepted.append(a[0])
names.remove(a[0])
else:
pass
“ views.py”
def view_home(request):
if request.method == 'POST':
if(request.POST.get("yes")):
processor.accept_person(request.POST.get("yes", False))
在一个设备上接受一个人即表示该人接受访问该网站的每个人。我希望每个用户可以有一个“会话”,以便一个人更改此python词典不会影响每个人的体验。
答案 0 :(得分:0)
您在这里寻找的是一种对用户进行身份验证的方法,Django非常出色,可以为您处理所有这些操作。
但是,如果您真的想以最小的努力获得完整的解决方案,我将介绍一个名为django-allauth的软件包。
官方文档(https://django-allauth.readthedocs.io/en/latest/installation.html)可能有点令人生畏,所以这是我第一次将身份验证集成到Django中时遵循的一个很好的教程。