Python3教程Web开发实战梳理-day7(看着不错)
通過前面幾天的的努力,ORM框架、Web框架和配置都已就緒,我們可以開始編寫一個最簡單的MVC,把它們全部啟動起來。
MVC:Model-View-Controller,中文名“模型-視圖-控制器”。
其中Python處理的URL函數就是C:Controller,Controller主要負責業務邏輯,比如檢查用戶名是否存在,取出用戶信息等等;
而View負責顯示邏輯,通過一些簡單的替換變量,View生成最終用戶看到的HTML,那View實質就是HTML模板(如Django等),而在本次Web開發就是Jinja2模板;
Model是用來傳給View的,這樣View在替換變量的時候,就可以從Model中取出相應的數據。
通過Web框架的@get和ORM框架的Model支持,可以很容易地編寫一個處理首頁URL的函數
新建handlers.py:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' url handlers '
import re, time, json, logging, hashlib, base64, asyncio
from coroweb import get, post
from models import User, Comment, Blog, next_id
@get('/')
async def index(request):
? ? users = await User.findAll()
? ? return {
? ? ? ? '__template__': 'test.html',
? ? ? ? 'users': users
? ? }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
‘_template_’指定的模板文件是test.html,其他參數是傳遞給模板的數據,所以我們在模板的根目錄templates下創建test.html:
<!DOCTYPE html>
<html>
<head>
? ? <meta charset="utf-8" />
? ? <title>Test users - Awesome Python Webapp</title>
</head>
<body>
? ? <h1>All users</h1>
? ? {% for u in users %}
? ? <p>{{ u.name }} / {{ u.email }}</p>
? ? {% endfor %}
</body>
</html>
這個html中邏輯部分用花括號{和百分號%來嵌套,這是jinja2模板的規范
和前段時間學習的Java中的JSP有些相似
接下來,運行app.py啟動服務器,在瀏覽器訪問
localhost:9000/
應該可以看到你的數據庫表中users中存儲的數據,如果沒有的話可以自己手動添加幾天記錄再試一下。
這就是一個簡單的MVC
————————————————
版權聲明:本文為CSDN博主「永無鄉」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/josephpai/article/details/76037662
總結
以上是生活随笔為你收集整理的Python3教程Web开发实战梳理-day7(看着不错)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蟹黄味瓜子仁适合哪些人群享用?蟹黄味瓜子
- 下一篇: 杨梅酒在什么环境下发酵最好?