蓝图不兑现:path转换器?

时间:2018-08-19 04:17:38

标签: python flask jinja2 blueprint

我正在使用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 %}

我想念什么?

0 个答案:

没有答案