我正在使用Flask和Blueprint。我有这样一种路线:
<?php
if (defined("SOME_UNIQUE_IDENTIFIER_FOR_THIS_FILE"))
return;
define("SOME_UNIQUE_IDENTIFIER_FOR_THIS_FILE", 1);
// Rest of code goes here
但是当我用带有斜杠的参数调用bp = Blueprint('port', __name__, url_prefix='/port')
...
@bp.route('/create/<path:port_name>', methods=('GET', 'POST'))
时:
url_for()
我收到404错误:
url_for('port.create', port_name='/dev/cu.usbserial-DN04LHRD')
我认为"GET /port/create//dev/cu.usbserial-DN04LHRD HTTP/1.1" 404
转换器是专门为在这种情况下引用路径名而设计的。生成html的Jinja2代码如下所示:
<path: ...>
但是,当我查看生成的HTML时,我可以看到路径名缺少引号,因此这是不可能的:
{% for port_name in port_names %}
<a class="list-group-item action"
href="{{ url_for('port.create', port_name=port_name) }}">
{{ port_name }}
</a>
{% endfor %}
我想念什么?