Python 烧瓶罐';t直接指向HTML文件
所以我有一个用于index.html页面的flask代码。但是,当我点击permission.html等其他链接时,它不会显示permission.html的任何内容,我会得到Python 烧瓶罐';t直接指向HTML文件,python,html,python-3.x,flask,Python,Html,Python 3.x,Flask,所以我有一个用于index.html页面的flask代码。但是,当我点击permission.html等其他链接时,它不会显示permission.html的任何内容,我会得到127.0.0.1---[10/May/2020 08:21:46]“get/permission.html HTTP/1.1”200-。如何重定向到permission.html并显示其内容 我的文件结构 . ├── code.py ├── static │ ├── css │ │ ├── style.css
127.0.0.1---[10/May/2020 08:21:46]“get/permission.html HTTP/1.1”200-
。如何重定向到permission.html并显示其内容
我的文件结构
.
├── code.py
├── static
│ ├── css
│ │ ├── style.css
│ └── pictures
│ └── some_picture.png
└── templates
├── index.html
├── permission.html
├── shell.sh
代码.py
from flask import Flask, url_for
from flask import render_template
app = Flask(__name__)
@app.route('/')
@app.route('/permission.html')
def index():
return render_template('index.html')
if __name__ == "__main__":
app.run()
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
<link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
<header>
<img class="resize" src="/static/pictures/logo.png" alt="logo">
<nav>
<ul class="nav-links">
<li class="active"><a href="./index.html">Home</a></li>
<li><a href="./permission.html">Permission</a></li>
</ul>
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<script type="text/javascript">
$(document).on('click', 'ul li', function(){
$(this).addClass('active').siblings().removeClass('active')
})
</script>
</nav>
</header>
</body>
</html>
标题
$(文档)。在('click','ul li',function()上{
$(this).addClass('active').sides().removeClass('active'))
})
permission.html
{% extends 'index.html' %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
<link rel="stylesheet" href="./css/style.css">
<style type="text/css">
body, html
{
margin: 0; padding: 0; height: 100%; overflow: hidden;
}
</style>
</head>
<body>
<header>
<img class="resize" src="../static/pictures/logo.png" alt="logo">
<nav>
<ul class="nav-links">
<li><a href="./index.html">Home</a></li>
<li class="active"><a href="./permission.html">Permission</a></li>
</ul>
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<script type="text/javascript">
$(document).on('click', 'ul li', function(){
$(this).addClass('active').siblings().removeClass('active')
})
</script>
</nav>
</header>
<iframe width="100%" height="100%" src="some_url"></iframe>
<p>HII</p>
</body>
</html>
{%extends'index.html%}
标题
正文,html
{
边距:0;填充:0;高度:100%;溢出:隐藏;
}
$(文档)。在('click','ul li',function()上{
$(this).addClass('active').sides().removeClass('active'))
})
HII
在指向其他链接方面需要做哪些更改?并正确显示其内容及其CSS?您可能最好为这些单独的页面使用单独的路由,如:
@app.route(“/”)
def index():
返回渲染模板('index.html')
@app.route(“/permission”)
def权限():
返回呈现模板('permission.html')
有关链接,请参见下面的精彩评论。下面的代码告诉flask在请求
/
或/permission.html
时呈现index.html
@app.route(“/”)
@app.route(“/permission.html”)
def index():
返回渲染模板('index.html')
@app.route(/endpoint)
decorator告诉flask在请求/endpoint
时运行用它修饰的方法。flask然后使用该方法的返回代码进行响应。因此,您需要为/permission.html
端点创建一个:
从烧瓶导入烧瓶,url\u
从flask导入渲染模板
app=烧瓶(名称)
@应用程序路径(“/”)
def index():
返回渲染模板('index.html')
@app.route(“/permission.html”)
def权限():
返回呈现模板('permission.html')
如果名称=“\uuuuu main\uuuuuuuu”:
app.run()
有关路由规则和app.route()
的详细信息,请参阅
另外,您可能不希望permission.html中包含
{%extends'index.html%}
,因为这会告诉Jinja(flask template rendered)获取index.html并仅用permission.html的内容替换其中的某些块。您提供了完整的HTML文件,因此无需使用extends
指令。有关如何使用extends的详细信息,请参见。好的,这里您将两个路径链接到了同一个文件,即index.html。你可以试试
@app.route('/')
def index():
return render_template('index.html')
@app.route('/permission')
def permission():
return render_template('permission.html')
您需要创建另一个呈现
permission.html
模板的视图,并将其绑定到URL/permission.html
。此外,您还需要在索引视图函数中删除权限的绑定URL。如果使用Jinja标记{{URL\u for('permission')}
在模板中呈现URL,效果会更好。查看“不知何故,我仍然有一个问题”“请使用更新的代码编辑问题”。不知何故,当您单击链接时,它仍然没有显示内容您在运行烧瓶的终端中看到了什么?有什么错误吗?我得到了127.0.0.1-[10/May/2020 08:44:20]“GET/permission.html HTTP/1.1”404-
我编辑了链接到{url\u for('permission')}
并且得到了127.0.0.1-[10/May/2020 08:45:06]“GET/permission HTTP/1.1”200-
Flask没有看到新的路线。您是否偶然在Windows上运行development server?有时,Windows上的autoreload有点不稳定。如果您退出(CTRL+C)并再次运行flask,它是否有效?它仍然无法呈现代码不正确,我现在已经更新了它。此外,您可能还希望删除{%extends'index.html%}