0

我写了一个插件如下:

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 中,而在我的脚本中创建时没有找到它。

4

1 回答 1

1

我可能不会将蓝图 blueprint命名为其他名称。

你注册蓝图了吗?

然后在定义路线时我会做

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

然后对路线的调用url_for可能会具有以下模式:

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

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

于 2015-12-29T13:27:22.130 回答