烧瓶有全局变量问题

时间:2018-06-22 15:40:40

标签: python flask global-variables

我有一个小程序,允许用户创建房间(即聊天)并加入房间。我创建了一个全局列表和一个dict来存储它们并在整个程序中进行访问。现在看来,当用户想要加入现有聊天时,python / flask(或更像是我)无法确定会议室是否已在列表或字典中

更新:被标记为重复并发现了很多建议,建议将这些数据存储在外部,但这是编程课程的一部分,该课程要求:创建一个类似松弛的迷你应用程序,具体来说:

您无需为此任务使用数据库。但是,您可以随意使用Flask应用程序将所需的任何数据存储在内存中,例如使用application.py中定义的一个或多个全局变量。

严重的是,没有办法通过全局变量来处理它吗?当我评估它们时,我绝对可以看到它们确实得到了更新和填充,为什么我不能只在IF中使用它们呢?

摘要:

roomsJSON = {}
roomsList = []


@app.route('/chatplace/<string:roomname>', methods=['GET', 'POST'])
def chatplace(roomname):
 roomname = request.form["roomname"]
 roomlabel = request.form["roomlabel"]
 username = str(request.form["username"])
 if (roomname in roomsList):
    #find an already existing room
    room = findRoomByName(roomname)
 else:
    #create a new one, update the dict and add the object to a list
    room = chatroom(roomname, roomlabel)
    roomsJSON.update({room.name: room.label})
    roomsList.append(room)
 return render_template('room.html', data=room, username=username)

由于某种原因,它总是进入else分支,我也尝试检查dict,但它仍然在那里。当我打印列表并将字典输出到控制台时,我肯定可以看到它确实存在。我应该去哪里看?谢谢!

0 个答案:

没有答案
相关问题