文章
Python 教程拆解索引 · 03:前端、环境与数据库
阅读数据加载中…
点赞数据加载中…
说明:本文基于
Day21-30/、Day31-35/、Day36-40/做原创教学整理,不复写原教程内容。
本篇对应材料:
Day21-30/、Day31-35/、Day36-40/
定位更正:这一页现在是章节索引,不再承担“前端 + Linux + 数据库三合一教程”的正文任务。
本章细教程
已经拆开的源文件
| 原仓库文件 | 主题 | 教程 |
|---|---|---|
Day21-30/21-30.Web前端概述.md + Day31-35/31-35.玩转Linux操作系统.md + Day36-40/36.关系型数据库和MySQL概述.md |
HTML、HTTP 服务、SQLite 原型 | 03A |
Day36-40/39.Python程序接入MySQL数据库.md |
PyMySQL 连接、事务、CRUD | 03B |
下一批应该继续拆的文件
Day36-40/37.SQL详解.mdDay36-40/38.深入MySQL.mdDay31-35/31-35.玩转Linux操作系统.md(可继续拆命令行/环境变量/服务管理)
很多人看到这段目录会皱眉:学 Python,怎么突然冒出 HTML、Linux、数据库?
因为到这一步,目标已经不是“会语法”,而是“能做一个最小系统”。
所以今天我们做一个简单但非常有代表性的练习:留言板原型。
今天你要做出的结果
你会完成三件事:
- 写一个静态页面;
- 用本地 HTTP 服务把页面跑起来;
- 用 SQLite 存一张留言表。
虽然它还不是完整网站,但它已经把前端、运行环境、数据库三块串起来了。
Step 1:先写一个前端页面
新建 practice/day03/index.html:
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>留言板原型</title>
<style>
body { font-family: sans-serif; max-width: 720px; margin: 40px auto; }
input, textarea { width: 100%; margin: 8px 0; padding: 8px; }
button { padding: 8px 16px; }
</style>
</head>
<body>
<h1>留言板原型</h1>
<form>
<input type="text" placeholder="你的名字">
<textarea rows="5" placeholder="写点什么"></textarea>
<button type="button">提交</button>
</form>
</body>
</html>
这一步对应的就是 Day21-30 里最基础的那部分:HTML 承载内容,CSS 让页面能看。
Step 2:像 Linux/运维那样把它跑起来
进入目录:
cd practice/day03
python -m http.server 9000
浏览器打开:
http://127.0.0.1:9000
这一步虽然简单,但它会让你第一次直观看到:
- 一个目录如何被服务出去;
- 一个端口如何对外提供访问;
- 为什么“程序运行环境”本身就是工程的一部分。
这就是 Day31-35 的现实意义:不是背命令,而是知道程序怎么活着。
Step 3:给系统接一个数据库
新建 practice/day03/init_db.py:
import sqlite3
conn = sqlite3.connect("guestbook.db")
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS messages (
id INTEGER PRIMARY KEY AUTOINCREMENT,
author TEXT NOT NULL,
content TEXT NOT NULL
)
""")
cursor.execute(
"INSERT INTO messages(author, content) VALUES (?, ?)",
("张三", "第一条留言")
)
conn.commit()
conn.close()
print("数据库初始化完成")
运行:
python init_db.py
Step 4:再写一个查询脚本
新建 practice/day03/query_db.py:
import sqlite3
conn = sqlite3.connect("guestbook.db")
cursor = conn.cursor()
cursor.execute("SELECT id, author, content FROM messages ORDER BY id DESC")
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
运行:
python query_db.py
输出类似:
(1, '张三', '第一条留言')
这一步对应的就是 Day36-40 最核心的意识:数据要落库,系统才能真正形成状态。
这个小练习为什么值钱
因为它让你一次性感受到三件事:
- 前端不是装饰,而是用户接触系统的第一层;
- Linux/运行环境不是附属,而是程序真正的生存空间;
- 数据库不是可选项,而是业务系统的中心。
本篇练习
- 给页面加一个留言列表区域。
- 在数据库里插入 3 条不同留言。
- 尝试在终端里用
sqlite3 guestbook.db查看表结构(如果本机装了 sqlite3 CLI)。
常见坑
- 坑 1:以为前端、Linux、数据库是平行知识点。 项目里它们是一条链。
- 坑 2:只会
python xxx.py,不会起本地服务。 那你对“应用怎么被访问”没有概念。 - 坑 3:把数据库当成可选配件。 一旦涉及业务数据,数据库几乎就是主角。
上一篇:Python 教程拆解 · 02:基础语法与语言地基
下一篇:Python 教程拆解 · 04:Django 与 FastAPI