【问题标题】:why url_for don't work but I can find the endpoint in url_map为什么 url_for 不起作用,但我可以在 url_map 中找到端点
【发布时间】:2023-03-09 04:52:01
【问题描述】:

我写了一个插件如下:

def init_app(self, app, blueprint):
    self.app = app
    @blueprint.route('/static/'+JSGLUE_JS_NAME, methods=['GET'])
    def serve_js():
        return make_response(
                (self.generate_js(), 200, {'Content-Type': 'text/javascript'})
        )

但是 url_for 不能工作,说 BuildError: ('main.serve_js', {}, None)

当我运行“python manage.py shell”时,我在创建应用程序后发现端点在app.url_map中,而在我的脚本中创建时没有找到它。

【问题讨论】:

  • 当我从路由中删除/static时,它起作用了!为什么?

标签: python flask endpoint url-for


【解决方案1】:

我可能不会命名 Blueprint blueprint 而是别的。

你注册蓝图了吗?

然后在定义路线时我会做

@something.route('/static/<JSGLUE_JS_NAME>', methods=['GET'])

那么使用url_for 的路由调用可能会有这样的模式:

url_for('something.static', filename='mysuperfile.js')

但是如果没有更多的细节就很难提供帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2010-12-24
    • 2016-10-04
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    相关资源
    最近更新 更多