flask-login:current_user返回None

时间:2018-08-03 18:32:22

标签: flask flask-wtforms flask-login

我目前正在使用Flask和flask-login构建一个标准应用程序。它是常规的东西,带有蓝图,Flask-WTF和其他功能。

我遇到的问题是,当我尝试在具有Flask-WTF格式定义的类中调用的模型中使用current_user时,它返回None。

这是模型:

class Keywords(object):
"""docstring for Tags"""

def taglist(self):
    print('CURRENT_USER in Keywords: ', current_user) <----- None
    ticket = current_user.ticket if current_user else 'test'
    response = TagClient().tags(ticket)
    print(response)
    if response.status_code == 200:
        data = response.body['list']['entries']
        return [(entry['entry']['id'], entry['entry']['tag']) for entry in data]
    return []

这是Flask-WTF表单类:

class FileForm(FlaskForm):
"""docstring for FileForm"""

print(current_user)

_keywords = Keywords().taglist() <----- THIS DOESN'T WORK
# print('Keywords: ', _keywords)

file                = FileField('File', validators=[FileRequired(), FileAllowed(datasets, 'Datasets only!')])
title               = StringField('Title', validators=[InputRequired()])
shortname           = StringField('Short name', validators=[InputRequired()])
abstract            = TextAreaField('Abstract', validators=[Optional()])

但是,如果我在控制器中创建模型的实例,则它将起作用,并且current_user返回用户。

def upload():
form    = FileForm(formdata=None)
# keywords = Keywords().taglist() <----- THIS WORKS!
# print(keywords)
return render_template('files/upload/wizard.html', user=current_user, title='Upload files', form=form, tree=tree, js=js)

我想念什么吗?

在此先感谢您提供的任何指导。

0 个答案:

没有答案