要让 DeepSeek Chat 生成一个完整的 Flask Web 应用系统示例代码,你需要提供 清晰、具体的指令,包括功能需求、技术栈和代码结构要求。以下是几种有效的指令方式及对应的代码生成示例:
📌 方法 1:明确功能需求 + 技术栈
指令示例:
"请用 Python + Flask + SQLAlchemy + Bootstrap 5 开发一个完整的 任务管理系统(Todo List),要求包含以下功能:
- 用户注册/登录(Flask-Login)
- 任务的增删改查(SQLAlchemy + SQLite)
- 前端页面用 Bootstrap 5 实现响应式布局
- 提供完整的
app.py
、模板文件(Jinja2)和静态文件(CSS/JS)- 代码需包含注释和关键逻辑说明"
DeepSeek 生成的响应:
会返回一个结构化的项目,包含:
app.py
(核心后端逻辑)templates/
(HTML 模板)static/
(CSS/JS 文件)- 数据库模型(SQLAlchemy)
- 路由和视图函数(带注释)
📌 方法 2:分步骤生成代码
指令示例:
"分步骤生成一个 Flask 博客系统:
- 先设计数据库模型(Post 和 User 表)
- 再写用户认证逻辑(注册/登录)
- 最后实现博客文章的发布和列表展示"
DeepSeek 生成的响应:
会按步骤输出代码,例如:
# 步骤1:数据库模型
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
posts = db.relationship('Post', backref='author')
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
content = db.Column(db.Text)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
# 步骤2:用户认证(略)
# 步骤3:博客路由(略)
📌 方法 3:指定代码格式
指令示例:
"生成一个 Flask + SQLAlchemy 的 RESTful API,用于管理商品库存,要求:
- 使用
flask-restful
扩展- 实现 GET/POST/PUT/DELETE 接口
- 返回 JSON 格式数据
- 代码按模块化拆分(
app.py
+models.py
+resources.py
)"
DeepSeek 生成的响应:
# models.py
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100))
stock = db.Column(db.Integer)
# resources.py
from flask_restful import Resource
class ProductAPI(Resource):
def get(self, product_id):
product = Product.query.get(product_id)
return {'name': product.name, 'stock': product.stock}
# app.py(路由注册部分)
api.add_resource(ProductAPI, '/product/<int:product_id>')
📌 方法 4:修复/扩展现有代码
指令示例:
"我在 Flask 中写了一个用户登录系统,但存在安全漏洞,请改进以下代码:
- 添加密码哈希(用
flask-bcrypt
)- 防止 SQL 注入
- 增加 CSRF 保护"
DeepSeek 生成的响应:
from flask_bcrypt import Bcrypt
from flask_wtf.csrf import CSRFProtect
app = Flask(__name__)
csrf = CSRFProtect(app)
bcrypt = Bcrypt(app)
# 改进后的注册逻辑
@app.route('/register', methods=['POST'])
def register():
username = request.form.get('username')
password = bcrypt.generate_password_hash(request.form.get('password')) # 哈希加密
user = User(username=username, password=password)
db.session.add(user)
db.session.commit() # 使用ORM防止SQL注入
📌 方法 5:生成完整项目(含部署)
指令示例:
"生成一个完整的 Flask 电商网站代码,包含:
- 用户系统
- 商品展示/购物车
- 订单管理
- Dockerfile 和 Nginx 部署配置
并提供项目目录结构说明"
DeepSeek 生成的响应:
会返回一个完整的项目结构:
ecommerce/
├── Dockerfile
├── requirements.txt
├── app/
│ ├── __init__.py
│ ├── models.py # 数据库模型
│ ├── routes.py # 所有路由
│ ├── templates/ # Jinja2模板
│ └── static/ # CSS/JS/图片
└── nginx.conf # Nginx配置
💡 优化指令的技巧
- 明确技术栈:指定是否要用
SQLAlchemy
、JWT
、Bootstrap
等。 - 功能优先级:核心功能(如用户认证)放在前面。
- 格式要求:是否需要注释、模块化拆分或 API 文档。
- 错误处理:要求代码包含异常处理(如数据库操作失败时回滚)。
🚀 示例完整指令
"用 Flask 开发一个 天气预报查询系统,要求:
- 使用
Flask-SQLAlchemy
存储用户查询记录- 调用第三方天气 API(如 OpenWeatherMap)
- 前端用 Bootstrap 5 显示天气卡片
- 包含单元测试(pytest)
- 代码按功能模块拆分(
models.py
,views.py
,config.py
)- 提供
requirements.txt
和简要的 README 说明"
DeepSeek 会生成一个开箱即用的完整项目!