首页 > Web开发 > 详细

测开之路一百二十四:flask之MVC响应过程

时间:2019-09-01 17:55:59      阅读:81      评论:0      收藏:0      [点我收藏+]

 

 

MVC流程

技术分享图片

 

 

原本的请求响应

结构:

技术分享图片

 

 

视图:

from flask import Flask, render_template

app = Flask(__name__)


@app.route("/books/")
def book_list():
return render_template(‘book_list.html‘)


if __name__ == ‘__main__‘:
app.run(debug=True)

技术分享图片

 

 

html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图书列表</title>
</head>
<body>
<h1>图书列表</h1>
<ul>
<li>标题: </li>
<li>定价: </li>
<li>作者: </li>
<li>出版社: </li>
</ul>
</body>
</html>

技术分享图片

 

 

请求

技术分享图片

 

 

MVC过程:

新建一个文件夹用于存放处理逻辑

技术分享图片

 

 

写一个简单的初始化逻辑

class Book:

def __init__(self, title, price, auther, publisher):
self.title = title
self.price = price
self.auther = auther
self.publisher = publisher

def __str__(self):
return f‘<Book {self.title}>‘

技术分享图片

 

 

视图函数调用,并传给html,第一个book为html里面的位置参数,第二个book为真实数据

from flask import Flask, render_template
from modles.book import Book

app = Flask(__name__)


@app.route("/books/")
def book_list():
book = Book(‘xx课程‘, 100, ‘xx作者‘, ‘xxx出版社‘, )
return render_template(‘book_list.html‘, book=book)


if __name__ == ‘__main__‘:
app.run(debug=True)

技术分享图片

 

render_template()支持传入参数

技术分享图片

 

 

html渲染,janja2接收参数:{{ 位置参数 }}

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图书列表</title>
</head>
<body>
<h1>图书列表</h1>
<ul>
<li>标题: {{ book.title }}</li>
<li>定价: {{ book.price }}</li>
<li>作者: {{ book.auther }}</li>
<li>出版社: {{ book.publisher }}</li>
</ul>
</body>
</html>

技术分享图片

 

 

访问

技术分享图片

 

 

渲染列表

from flask import Flask, render_template
from modles.book import Book

app = Flask(__name__)


@app.route("/books/")
def book_list():
books = [
Book(‘1.1‘, ‘1.2‘, ‘1.3‘, ‘1.4‘),
Book(‘2.1‘, ‘2.2‘, ‘2.3‘, ‘2.4‘),
Book(‘3.1‘, ‘3.2‘, ‘3.3‘, ‘3.4‘),
Book(‘4.1‘, ‘4.2‘, ‘4.3‘, ‘4.4‘)
]
return render_template(‘book_list.html‘, books=books)


if __name__ == ‘__main__‘:
app.run(debug=True)

技术分享图片

 

html里面用for循环渲染

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图书列表</title>
</head>
<body>
<h1>图书列表</h1>
<table border="1" cellpadding="5">
<tr>
<td>书名</td>
<td>定价</td>
<td>作者</td>
<td>出版社</td>
</tr>
{% for book in books %}
<tr>
<td>{{ book.title }}</td>
<td>{{ book.price }}</td>
<td>{{ book.auther }}</td>
<td>{{ book.publisher }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>

技术分享图片

 

 

访问

技术分享图片

 

测开之路一百二十四:flask之MVC响应过程

原文:https://www.cnblogs.com/zhongyehai/p/11441754.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!