Python3使用Flask开发Web项目新手入门开发文档

以下是一份针对新手的 Flask 开发入门文档,涵盖环境搭建、核心功能及常用模块实现,附带完整可运行代码:

Flask 新手入门开发文档

一、环境搭建

1. 安装 Python

  • 下载地址:Python 官网(推荐 3.9+ 版本)
  • 安装时勾选 “Add Python to PATH”

2. 创建虚拟环境

# 新建项目文件夹
mkdir flask_demo && cd flask_demo

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate

3. 安装 Flask 及扩展

# 基础 Flask
pip install flask

# 常用扩展(后续功能会用到)
pip install flask-sqlalchemy  # 数据库ORM
pip install flask-wtf         # 表单处理
pip install flask-login       # 用户认证
pip install requests          # 网络请求(爬虫用)
pip install beautifulsoup4    # 网页解析(爬虫用)

二、Hello World 入门

1. 第一个 Flask 程序

创建 app.py 文件:

from flask import Flask

# 初始化 Flask 应用
app = Flask(__name__)

# 定义路由(访问 http://127.0.0.1:5000/ 时触发)
@app.route('/')
def index():
    return "Hello, Flask!"

# 启动服务器
if __name__ == '__main__':
    app.run(debug=True)  # debug=True 表示开发模式,自动重启

2. 运行程序

python app.py

访问 http://127.0.0.1:5000 即可看到 “Hello, Flask!”

三、项目结构规范

推荐目录结构(后续功能基于此结构开发):

flask_demo/
├── app.py              # 主程序入口
├── config.py           # 配置文件
├── models.py           # 数据模型(数据库表)
├── routes/             # 路由模块
│   ├── __init__.py
│   ├── auth.py         # 登录注册路由
│   └── file.py         # 文件上传下载路由
├── static/             # 静态文件(CSS/JS/图片)
│   └── style.css
├── templates/          # 模板文件(HTML)
│   ├── base.html       # 基础模板(继承用)
│   ├── login.html      # 登录页面
│   └── upload.html     # 文件上传页面
└── uploads/            # 上传文件存储目录

四、核心功能实现

1. 页面解析(模板渲染)

Flask 使用 Jinja2 模板引擎,支持变量、循环、条件判断等。

(1)创建基础模板 templates/base.html
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>{% block title %}Flask 示例{% endblock %}</title>
    <link rel="stylesheet" href="{
    
    { url_for('static', filename='style.css') }}">
</head>
<body>
    <nav>
        <a href="/">首页</a>
        <a href="/login">登录</a>
        <a href="/upload">文件上传</a>
    </nav>
    <div class="content">
        {% block content %}{% endblock %}  <!-- 子模板内容会插入这里 -->
    </div>
</body>
</html>
(2)创建子模板 templates/index.html
{% extends "base.html" %}  <!-- 继承基础模板 -->

{% block title %}首页{% endblock %}

{% block content %}
    <h1>欢迎来到首页</h1>
    <p>当前时间:{
  
  { current_time }}</p>  <!-- 接收变量 -->
    <ul>
        {% for item in items %}  <!-- 循环示例 -->
            <li>{
  
  { item }}</li>
        {% endfor %}
    </ul>
{% endblock %}
(3)渲染模板的路由(在 app.py 中添加)
from flask import render_template
from datetime import datetime

@app.route('/home')
def home():
    # 传递变量到模板
    data = {
   
   
        'current_time': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
        'items': ['Flask', 'Python', 'Web开发']
    }
    return rend
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值