7.5 反向构建URL

如果需要在html中通过url访问其他的路径,有如下几种方法

法1:直接通过全路径访问

<link type="text/css" rel="stylesheet" href="http://ip:port/static/test.css">

这种方案最差,当上了生产环境,就需要修改ip和port,不现实

法2:通过相对路径

<link type="text/css" rel="stylesheet" href="/static/test.css">

这种方案的缺点在于,静态文件的url_path是可以修改的,当修改了静态文件位置的时候,还是需要全局修改。

法3:通过endpoint反向构建url。

之前我们讲过url和视图函数的映射,是通过endpoint和map注册的。这里的endpoint就是用来我们反向构建url,通过endpoint找到对应的url。

关于endpoint的讲解,请看2.6

    <link type="text/css" rel="stylesheet" href="{{ url_for('static',filename='test.css') }}">

Last updated