python中flask(五)
之前简单介绍了jinja2的结构,这一部分主要围绕html语法编写展开。
1.html5常用标签
<!--...--> 注释标签
<a href="http...">变量名称</a> 给指定变量添加超链接
<b> 加粗文本
<br> 换行符
<p> 定义新段落
2.if循环
python后端
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/<login>/')
def index(login):
if login == '1':
username = {
'user1': 'Jason',
'user2': 'Tom',
'user3': 'Jack'
}
return render_template('index.html', username=username)
else:
return render_template('index.html')
if __name__ == '__main__':
app.run()
html前端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
{% if username %}
<p><a href="#">{{ username.user1 }}</a></p>
<p><a href="#">{{ username.user2 }}</a></p>
<p><a href="#">{{ username.user3 }}</a></p>
<p><a href="#">logout</a></p>
{% else %}
<a href="#">login</a>
{% endif %}
</body>
</html>
我们要注意的主要是URL的调整,因为目前还未涉及到session等,只能靠手动调整URL来实现网页python中if的判断,其中1是已登陆,其他的输入是未登陆的页面。
在html里,需要关注的主要是变量需要{{ }},以及需要使用endif来代表if语句的结束
3.for循环
for循环中,首先涉及的是字典的遍历,使用之前的username字典
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/<login>/')
def index(login):
username = {
'user1': 'Jason',
'user2': 'Tom',
'user3': 'Jack'
}
return render_template('index.html',username=username)
if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
{% for k,v in username.items() %}
<p>{{ k }}</p>
<p>{{ v }}</p>
{% endfor %}
</body>
</html>
其中语法与python中for语法较为相似,也可以单独遍历keys或values
之后要关注的是列表的遍历,语法和python也较为相似,其中要注意的是在html中编写时需要加endfor。
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/<login>/')
def index(login):
username=['Jason','Tom','Jack']
return render_template('index.html',username=username)
if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
{% for user in username %}
<p>{{ user }}</p>
{% endfor %}
</body>
</html>