标签:code ict safe rom ups jin mic 遍历 图片
数据准备
后端定义几个字符串,用于传递到前端
STUDENT = {‘name‘: ‘Old‘, ‘age‘: 38, ‘gender‘: ‘中‘}, STUDENT_LIST = [ {‘name‘: ‘Old‘, ‘age‘: 38, ‘gender‘: ‘中‘}, {‘name‘: ‘Boy‘, ‘age‘: 73, ‘gender‘: ‘男‘}, {‘name‘: ‘EDU‘, ‘age‘: 84, ‘gender‘: ‘女‘} ] STUDENT_DICT = { 1: {‘name‘: ‘Old‘, ‘age‘: 38, ‘gender‘: ‘中‘}, 2: {‘name‘: ‘Boy‘, ‘age‘: 73, ‘gender‘: ‘男‘}, 3: {‘name‘: ‘EDU‘, ‘age‘: 84, ‘gender‘: ‘女‘}, }
Jinja2模板语言中的 for
{% for foo in g %} {% endfor %}
Jinja2模板语言中的 if
{% if g %} {% elif g %} {% else %} {% endif %}
{{}}
接下来,我们对这几种情况分别进行传递,并在前端显示成表格
前端页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <table border="1px"> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> {% for foo in stu %} <tr> <td>{{ foo.name }}</td> <td>{{ foo.age }}</td> <td>{{ foo.gender }}</td> </tr> {% endfor %} </tbody> </table> </body> </html>
后端代码
from flask import Flask,render_template,request app = Flask(__name__) STUDENT = {‘name‘: ‘Old‘, ‘age‘: 38, ‘gender‘: ‘中‘}, @app.route(‘/login‘,methods=["POST","GET"]) def login(): if request.method == "GET": return render_template("login.html",stu=STUDENT) if __name__ == ‘__main__‘: app.run("0.0.0.0", 9876)
前端页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <table border="1px"> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> {% for foo in stu %} <tr> <td>{{ foo.get("name") }}</td> <td>{{ foo.age }}</td> <td>{{ foo["gender"] }}</td> </tr> {% endfor %} </tbody> </table> </body> </html>
上面我们用了三种取值方式,这里foo就是每个字典
后端代码
from flask import Flask,render_template,request app = Flask(__name__) STUDENT_LIST = [ {‘name‘: ‘Old‘, ‘age‘: 38, ‘gender‘: ‘中‘}, {‘name‘: ‘Boy‘, ‘age‘: 73, ‘gender‘: ‘男‘}, {‘name‘: ‘EDU‘, ‘age‘: 84, ‘gender‘: ‘女‘} ] @app.route(‘/login‘,methods=["POST","GET"]) def login(): if request.method == "GET": return render_template("login.html",stu=STUDENT_LIST) if __name__ == ‘__main__‘: app.run("0.0.0.0", 9876)
前端页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <table border="1px"> <thead> <tr> <th>序号</th> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> {% for foo in stu %} <tr> <td>{{ foo }}</td> <td>{{ stu.get(foo).name }}</td> <td>{{ stu.get(foo).age }}</td> <td>{{ stu.get(foo).gender }}</td> </tr> {% endfor %} </tbody> </table> </body> </html>
后端代码
from flask import Flask,render_template,request app = Flask(__name__) STUDENT_DICT = { 1: {‘name‘: ‘Old‘, ‘age‘: 38, ‘gender‘: ‘中‘}, 2: {‘name‘: ‘Boy‘, ‘age‘: 73, ‘gender‘: ‘男‘}, 3: {‘name‘: ‘EDU‘, ‘age‘: 84, ‘gender‘: ‘女‘}, } @app.route(‘/login‘,methods=["POST","GET"]) def login(): if request.method == "GET": return render_template("login.html",stu=STUDENT_DICT) if __name__ == ‘__main__‘: app.run("0.0.0.0", 9876)
在遍历字典的时候,foo 其实是相当于拿出了字典中的Key
该方法和django中的safe一样都是防止xss攻击、
from flask import Flask,render_template,request from markupsafe import Markup app = Flask(__name__) @app.route(‘/login‘,methods=["POST","GET"]) def login(): if request.method == "GET": my_in = Markup("<input type=‘text‘ name=‘uname‘>") return render_template("login.html",ss=my_in) if __name__ == ‘__main__‘: app.run("0.0.0.0", 9876)
前端页面生成的标签:
<input type="text" name="uname">
标签:code ict safe rom ups jin mic 遍历 图片
原文地址:https://www.cnblogs.com/youxiu123/p/11605774.html