获取 Flask 中的当前用户 ID

2024-03-21

我对 Python 还很陌生(老实说,我对一般编程也很陌生)。我目前正在制定一种待办事项列表,我需要它将待办事项放入适当的课程中(所有这些都与教育内容相关)。所以,问题很简单。我将其作为 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()为字段的 choice 属性构建元组列表course in ToDoForm。我需要将当前登录的老师的id传递给这个函数,以便它可以评估这位通过的老师是否有任何与他的id匹配的课程。我尝试使用current_user._get_current_object()等等,但这只是给我带来了很多错误。

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


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 Flask 中的当前用户 ID 的相关文章

  • 有没有办法使用纯Python释放纯函数的GIL?

    我想我一定错过了什么 这看起来很正确 但我看不出有什么办法可以做到这一点 假设你有一个 Python 纯函数 from math import sin cos def f t x 16 sin t 3 y 13 cos t 5 cos 2
  • pandas python 根据一个或多个其他列的子集更新 A 列的子集

    Edit我修改了下面的部分描述 以澄清 功能 和 组 的含义 修复拼写错误 并包含我尝试过的其他代码 我的熊猫df有 450 万行和 23 列 下表显示了几行df2这是从生成的df 它显示了两组 eeskin and hduquant 和三
  • AttributeError:模块“tensorflow.python.framework.ops”没有属性“RegisterShape”

    我正在使用 TensorFlow 2 1 0 dev20191125 不幸的是 我无法编译一个带有错误的简单示例 AttributeError 模块 tensorflow python framework ops 没有 属性 Registe
  • 插入多行并返回主键时 Sqlalchemy 的奇怪行为

    插入多行并返回主键时 我注意到一些奇怪的事情 如果我在 isert 查询中添加使用参数值 我会得到预期的行为 但是当将值传递给游标时 不会返回任何内容 这可能是一个错误还是我误解了什么 我的sqlachemy版本是0 9 4 下面如何重现错
  • 使用解析将 ** 运算符更改为幂函数?

    我的要求是将 运算符更改为幂函数 例如 1 Input B 2 Output power B 2 2 B 2 T 2 X Output power B 2 我写了下面的正则表达式来解决这个问题 rx r a zA Z0 9 a zA Z0
  • 尽管 ioff() 和 matplotlib.use('Agg'),Pyplot“无法连接到 X 服务器 localhost:10.0”

    我有一段代码 它被不同的函数调用 为我执行一些计算 然后将输出绘制到文件中 鉴于整个脚本可能需要一段时间才能运行更大的数据集 并且由于我可能想在给定时间分析多个数据集 所以我开始它screen然后断开连接并关闭我的腻子会话 并在第二天再检查
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 计算 for 循环期间的运行总计 - Python

    编辑 下面是我根据收到的反馈 答案编写的工作代码 这个问题源于我之前使用 MIT 的开放课件学习 Python CS 时提出的问题 在这里查看我之前的问题 https stackoverflow com questions 4990159
  • Django REST Framework:无法使用视图名称解析超链接关系的 URL

    我已经广泛研究了这个相当常见的问题 但没有一个修复对我有用 我正在 REST 框架中构建 Django 项目 并希望使用超链接关系 用户可以拥有许多独立的汽车和路线 路线是位置的集合 这些是我的序列化器 class CarSerialize
  • 熊猫 style.background_gradient 忽略 NaN

    我有以下代码来转储数据帧results到 HTML 表格中 这样的列TIME FRAMES根据seaborn 的颜色图进行着色 import seaborn as sns TIME FRAMES 24h 7d 30d 1y Set CSS
  • 生产环境的 Flask-Login 与 Flask-Security

    我正在构建一个功能 供用户注册 登录 验证和授权自己 特别是使用 Python Flask 作为后端 我找到了一些解决方案 例如flask login and flask security 据我了解 flask login实际上并没有进行任
  • Python:动态向对象添加字段

    我想知道是否可以动态向对象添加字段 例如 我希望能够添加如下内容 user object user first name John user last name Smith 当我在 Python 命令行解释器中执行该命令时 我得到 Attr
  • PyCharm 输出错误消息散布在控制台输出中。如何解决这个问题?

    我正在运行 PyCharm 社区版 4 0 4 有谁知道为什么控制台输出后不显示错误消息 Thanks C Python27 python exe F Google Drive code python scripts leetcode lc
  • Pandas:向量化局部范围操作([i:i+2] 行的最大值和总和)

    我希望在数据帧中的每一行的局部范围内进行计算 同时避免速度缓慢for环形 例如 对于下面数据中的每一行 我想找到未来 3 天内 包括当天 的最高气温以及未来 3 天内的总降雨量 Day Temperature Rain 0 30 4 1 3
  • 安装python启动文件

    我如何安装pythonstartup文件 以便它在命令上运行 例如python myfile py 我尝试将其安装到我的 home myuserUbuntu的目录 但它说我没有足够的权限 此外 不同的地方交替说它应该全部大写或全部小写 前面
  • python 中的异步编程

    python 中有异步编程的通用概念吗 我可以为一个函数分配一个回调 执行它并立即返回主程序流 无论该函数的执行需要多长时间吗 您所描述的 主程序流程在另一个函数执行时立即恢复 不是通常所说的 异步 又名 事件驱动 编程 而是 多任务 又名
  • Python写入dbf数据时出错

    我得到这个错误 DbfError unable to modify fields individually except in with or Process 如何修复它 这是我的code with dbf Table aa dbf as
  • Numba jitclass 不适用于 python 列表

    我在用python 3 6 and numba 0 36 这个问题有一个sister https stackoverflow com questions 48159360 numba custom stack class and pop f
  • 在 Mac (Catalina) 上安装 PyGame 时出错 [重复]

    这个问题在这里已经有答案了 我一直在尝试将 PyGame 安装到 Catalina 上的 Mac 上 但不知道如何安装 我收到的错误消息是 SystemExit error command gcc failed with exit stat
  • 使用 Tweepy 获取推文时出错

    我有一个用于获取推文的 Python 脚本 在脚本中我使用该库 Tweepy 我使用有效的身份验证参数 运行此脚本后 一些推文存储在我的 MongoDB 中 有些则被 if 语句拒绝 但我仍然收到错误 requests packages u

随机推荐

  • c 中 tan(90) 的值?

    它给出的值是 557135813 94455 每次值都会保持不变吗 为什么它不显示无穷大 include
  • DISTINCT() 和 ORDERBY 问题

    我正在学习 LINQ to SQL 一切都很顺利 直到发生了一些奇怪的事情 我试着举个例子distinct 因此 使用 Northwind 数据库 我编写了以下查询 var query from o in db Orders orderby
  • 带有徽标的 A 框链接

    我想使用徽标从场景内部链接到外部 URL 常规网站 而不是 VR 这就是我所拥有的
  • 使用新安装的模块而无需重新启动交互式会话

    在长时间的交互会话 使用 ipython 中 我有时需要使用尚未安装的模块 安装新模块后 该模块可以在新的交互式会话中导入 但不能在安装之前运行的会话中导入 由于我正在使用内存中的所有变量 我不想重新启动会话 我怎样才能获得这样一个先前运行
  • 你能推荐一些Python HTTP客户端库吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想使用Python从一些网站捕获信息 我希望HTTP客户端满足这个条件 支持HTTPS 不会使用太多
  • 通过自动布局在 UIScrollView 中使用顶部布局指南

    I want to use the Top Layout Guide in the UIScrollView through Auto Layout Without the UIScrollView Auto Layout works we
  • 是否可以在没有 sqlite 函数的情况下将 SQLite 数据库与 PHP 一起使用?

    我的 PHP 安装没有 SQLite Functionality 作为基本安装 因此没有 sqlite 函数可用 是否有一个 PHP 库 PHP 代码 可以访问 SQLite 数据库 而无需在 PHP 中安装任何插件 我无法更改服务器配置
  • 如何计算 (a*b)%c 形式的模数?

    如何计算 a b c 形式的模数 我想计算两个 int 数字相乘的模数 它们几乎处于溢出阶段 这里 c 也是 int a b c a c b c c
  • 是否对使用“OR”的 SQL SERVER 表达式的所有部分进行求值?

    Given WHERE Id Is NULL OR Id Table Id 如果 Id 为 null 表达式的计算结果为 true 第二部分 Id Table Id 是否仍然被考虑 或者 如果第一部分是 c 中的情况 则表达式计算结果为 t
  • 你能在 shell 脚本中生成一个进程吗?

    我试图让我的 bin sh shell 脚本启动另一个应用程序而不暂停执行 也就是说 我正在寻找一种在后台启动它并让我的 shell 脚本继续执行的方法 我希望它能像这样工作 start daemon start success launc
  • 如何使用NamedTemporaryFile(什么时候关闭?)

    我正在尝试编写一系列写入临时文件的函数 然后对写入的文件进行处理 我试图了解该文件是如何处理的 我想做的摘要是 def create function inputs create temp file write some contents
  • JS 私有方法不会在每次构造函数调用时重新定义

    如何创建一个每次调用构造函数时都未定义的 Javascript 私有方法 据我所知 在OOP JS中 私有方法是在 类 的 构造方法 中定义的方法 每次实例化一个新的 对象 时都会调用 我在想也许是一个函数声明 即function name
  • 在 Swift 中使用 obj-c typedef

    我有一个 typedef 如下 typedef NSString VMVideoCategoryType extern VMVideoCategoryType const VMVideoCategoryType MusicVideo ext
  • 组合两个 Runnable 对象

    举例来说 我有一个名为 RunnableA 的 Runnable 它可以执行某些操作 我还有一个名为 RunnableB 的 Runnable 它可以执行其他操作 有没有办法可以将这两个 Runnable 组合起来 以便它们在同一个线程中运
  • Ironpython:函数在 CPython 中工作,IronPython 中神秘的空指针异常

    我正在尝试做一些看起来非常简单的事情 并且属于标准 python 的范围 以下函数接受集合的集合 并返回两个或多个集合中包含的所有项目 为此 虽然集合的集合不为空 但它只是从集合中弹出一个集合 将其与其余集合相交 并更新落在这些交集之一中的
  • 在 React 中测试 mapbox-gl 时如何修复“window.URL.createObjectURL 不是函数”?

    我正在使用 Mapbox material ui 和自定义样式测试 React 组件 我使用 Jest Enzyme 进行测试 我有问题 window URL createObjectURL 不是函数 我读过类似的问题 github com
  • 如何自定义引导侧边栏/sidenav?

    I need to make use of Twitter Bootstrap Sidebar for creating a menu in my web application Highlighted in red To create a
  • 隐藏键盘ios [重复]

    这个问题在这里已经有答案了 我有一些文本输入 每当我触摸背景时 我都可以隐藏键盘 但只有当我输入第一个文本框名称 textField1 时 现在这段代码应该很简单 但我似乎无法理解它 IBAction backgroundTouched i
  • 如何在Python中将词云保存为.png?

    我正在尝试基于字符串创建词云 然后将其导入到报告文档中 我正在使用 python docx matplotlib 和词云 这是我的一个简短的总结 from wordcloud import WordCloud import matplotl
  • 获取 Flask 中的当前用户 ID

    我对 Python 还很陌生 老实说 我对一般编程也很陌生 我目前正在制定一种待办事项列表 我需要它将待办事项放入适当的课程中 所有这些都与教育内容相关 所以 问题很简单 我将其作为 Flask 驱动的路线 app route add co