在我的网络应用程序中,除了实际的应用程序相关页面(索引和输出)之外,我还有其他几个页面,但这些页面是静态的。例如,一个页面是&#34; Process&#34;另一个&#34;联系&#34;。在所有HTML文件的导航栏中,我想要链接到这些页面。我将这些页面作为<li><a href="./static/process.html">Process</a></li>
和<li><a href="./static/contact.html">Contact</a></li>
投放。
当从索引页面点击这些链接时,我可以访问其中任何一个页面 - 没问题。但是,如果我在Process页面上并单击Contact的链接,则会收到错误,因为地址栏显示它正在尝试访问http://localhost:5000/static/static/contact.html
。我认为我添加链接到这些静态页面的方式可能是错误的。实现这一目标的最佳和正确方法是什么?
答案 0 :(得分:0)
在路径中包含./
表示从当前目录&#34;&#34;。
因此,您正试图从static
目录中进入static
目录。在两个静态页面之间进行链接时删除./static
。
答案 1 :(得分:0)
我相信这就是你要找的东西。
How to serve static files in Flask
# index.html
<a href="{{ url_for('static', filename='process.html') }}">link</a>
然后,当Jason说你需要从process.html中的链接中删除'./'并联系html。
# process.html
<a href="/static/contact.html">link</a>
# contact.html
<a href="/static/process.html">link</a>
就使用AWS提供文件而言,有很多不同的方法,但有一个烧瓶扩展,使得通过S3提供服务非常容易。 https://flask-s3.readthedocs.io/en/latest/
当从process.html链接到contact.html时,此解决方案无法轻松扩展,反之亦然,因为链接不是动态生成的。解决这个问题的唯一方法是制作模板并通过路线渲染和返回。