【问题标题】:Typerror when calling a flask function from template从模板调用烧瓶函数时出现类型错误
【发布时间】:2019-09-20 22:31:40
【问题描述】:

非常简单...我在我的模板中调用这个 sort_by 函数,如下所示:

{{ sort_by('a') }}

它只需要一个参数,但由于某种原因我收到以下错误:

TypeError: sort_by() takes exactly 1 argument (0 given)

@app.context_processor
def sort_by(aa):
    print("sort byyyyyyyyyy")
    print(aa)

知道为什么吗?每当我想调用没有来自模板的路由的函数时,还需要@app.context_processor

【问题讨论】:

  • 我认为您在{{ sortt_by('a') }} 中有错字,因此使用sortt 而不是sort。试试这个:{{ sort_by('a') }}
  • 我的错,错字不存在,我尝试了 sortt 因为我认为 sort_by 可以保留......所以这不是这里的问题。此外,如果我删除 @app.context.processor 我得到未定义的功能。如果我离开它并删除所有参数,那么我可以调用该函数......但不能使用参数

标签: python html python-2.7 flask jinja2


【解决方案1】:

我认为上下文处理器在有参数时不应该这样定义,看那里:Flask context processors

【讨论】:

  • 我需要它正常吗?从我正在阅读的内容来看,我真的不需要conext处理器可以做什么,我只想调用一个没有来自模板的路由的函数
猜你喜欢
  • 2018-02-12
  • 1970-01-01
  • 2018-02-22
  • 1970-01-01
  • 2017-04-13
  • 2023-03-15
  • 2021-01-01
  • 1970-01-01
  • 2023-03-24
相关资源
最近更新 更多