# 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') }}">
```
