gpt4 book ai didi

python - 在 Flask 中获取当前用户 ID

转载 作者:行者123 更新时间:2023-11-28 19:30:28 25 4
gpt4 key购买 nike

我是 Python 的新手(老实说,一般编程)。我目前正在处理一种待办事项列表,我需要将待办事项放入适当的类(class)中(这都与教育相关)。所以,问题很简单。我将其作为 Flask 驱动的路线:

@app.route('/add_course', methods=('GET', 'POST'))
@login_required
def course():
form = forms.CourseForm()
if form.validate_on_submit():
models.Course.create(teacher=g.user._get_current_object(),
name=form.name.data.strip(),
difficulty=form.level.data.strip(),
description=form.description.data.strip())
flash("Course successfully created!", "success")
return redirect(url_for('index'))
return render_template('add_course.html', form=form)

然后我在 forms.py 中有这个。您可以看到我为指示我的问题所在而设置的巧妙标记。它说 THE_PROBLEM

def courses():
try:
courses = models.Course.select(models.Course.id,
models.Course.name,
models.Course.difficulty).where(THE_PROBLEM)
course_list = []
for course in courses:
course_list.append((str(course.id), course.name + ' - ' + course.difficulty.title()))
return course_list
except models.DoesNotExist:
return [('', 'No courses')]


class ToDoForm(FlaskForm):
name = StringField("What's up?", validators=[
DataRequired()
])
due_date = DateTimeField('When?', format='%Y-%m-%d %H-%M')
course = SelectField('Course', choices=courses())
priority = SelectField('Priority',
choices=[('high', 'High priority'),
('medium', 'Normal priority'),
('low', 'Low priority')],
validators=[
DataRequired()
])
description = TextAreaField('Description')

所以,是的,我正在寻找的是传递当前登录的所有者(在这种情况下为教师)的 ID 的方法。我使用此函数 courses() 来为 ToDoForm 中字段 course 的 choices 属性构建一个元组列表。我需要将当前登录教师的 ID 传递给此函数,以便它可以评估这位通过的教师是否有任何与其 ID 匹配的类(class)。我尝试使用 current_user._get_current_object() 和其他任何东西,但它给我带来了很多错误。

任何帮助、意见或建议将不胜感激。我真的希望我在这里所说的(以及我想要实现的)是可以理解的

最佳答案

万一有人遇到同样令人沮丧的问题,解决方案非常简单。将外部类包装到函数中,并将所需的变量作为参数传递,然后随心所欲地使用它们。只是不要忘记返回类的实例。

关于python - 在 Flask 中获取当前用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41093661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com