【发布时间】:2013-09-22 01:37:48
【问题描述】:
我正在尝试根据组织 ID 填充角色,但似乎 WT 表单不支持会话
view.py
@users.route('/', methods=['GET', 'POST'])
@users.route('/manage', methods=['GET', 'POST'])
@login_required
def manage_users():
form = User_Form()
return render_template('account/manage_users.html', form=form)
user_form.py
from flask import session
from wtforms import Form, SelectField, TextField, PasswordField, validators
class User_Form(Form, session):
username = TextField('Username', [validators.Length(min=4, max=25)])
password = PasswordField('New Password', [
validators.Required(),
validators.EqualTo('confirm', message='Passwords must match')
])
confirm = PasswordField(u'Repeat Password')
email = TextField(u'Email', [validators.Length(min=6, max=35)])
active = SelectField(u'Active', choices=[('1', 'True'), ('0', 'False')])
organization_id = session['user_id']
#role = "list roles according to organization_id"
文件“C:\Users\dell\Envs\surveyApp\lib\site-packages\flask\globals.py”,第 20 行,在 _lookup_req_ob 项目 raise RuntimeError('在请求上下文之外工作') RuntimeError:在请求上下文之外工作
【问题讨论】:
-
你不能像这样从
session继承。如果您已经可以通过会话变量访问organization_id字段,那么它的用途是什么? -
该应用程序注册了多个组织,各个组织可以创建自己的角色,从而为各个组织创建不同的角色列表。在创建用户时,我希望组织 ID 列出该组织的相应角色。
标签: flask wtforms flask-wtforms