python - webpy 中的 session - 获取所有类中的用户名

标签 python session post web.py

我正在为我的项目使用 webpy 框架。我正在从 main.py 程序的“登录”类登录。我想获取其他类(class)的用户名。我尝试了session并尝试了很长时间。我已经实现了如下所示的 session 。

store = web.session.DiskStore('sessions')
session = web.session.Session(app,store,initializer={'login': 0,'privilege': 0})

在我的 main.py 登录类中,当用户提交用户名和密码时,以下代码将起作用。(这是我的登录类的 post 方法 0f)。

class login:
    def POST(self):
            i = web.input(form_submit="Login")
            authdb = sqlite3.connect('database/users.db')
            conn = authdb.cursor()
            if i.form_submit=='Login':
                check = conn.execute('select * from user_details where username=?and password=?', (i.username, i.password))
                n=check.fetchall()
                if len(n)!=0:
                        session.loggedin = True
                        session.username = i.username
            return render.home('Home')
                else: return render.display('Wrong username or password !')

我想获取其他类(class)的用户名。我尝试使用 session.username 访问用户名,但显示以下错误。 AttributeError:“ThreadedDict”对象没有属性“username”

最佳答案

我在 main.py 程序中进行了以下更改。

所做的改变:而不是仅仅给予

session = web.session.Session(app,store,initializer={'login': 0,'privilege': 0,'user':'anonymous','loggedin':False}) 

我添加了以下代码行,

if web.config.get('_session') is None:
    session = web.session.Session(app,store,initializer={'login': 0,'privilege': 0,'user':'anonymous','loggedin':False})
    web.config._session = session
else:
    session = web.config._session

我还在初始化器字典中做了一个小更改,将用户初始化为匿名,并将登录设置为 false。 感谢安德烈给我这个话题。

关于python - webpy 中的 session - 获取所有类中的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7382886/

相关文章:

PHP 在 session 变量中显示一行 Mysql 结果的每一列 - 刷新下一行

java - 用于事务重用的 Hibernate 模式

php - 国家/地区下拉列表将 ID 而不是名称(字符串)插入数据库(mysql)

python - 通过梯度下降在每一步更新的自定义损失函数

用于识别包含在三引号中的有效 Python 字符串的 Javascript flavor 正则表达式

python多处理池: how can I know when all the workers in the pool have finished?

$_FILES 的 PHP 过滤输入数组?

python - 如何将 C++ 指针传递给其他 cython 对象

angular - 用户 session IONIC 2

web-services - 如何在 Postman 中设置 HTTP 协议(protocol)版本?