python:chapter39

第三十九章:Web应用项目

完成本章学习后,你将能够:

  • 设计Web应用架构
  • 实现用户认证
  • 集成数据库
  • 部署Web应用
myapp/
├── app/
│   ├── __init__.py
│   ├── models.py
│   ├── views.py
│   ├── forms.py
│   └── templates/
├── config.py
├── requirements.txt
└── run.py
from flask import Flask, request, session, redirect, url_for
from werkzeug.security import generate_password_hash, check_password_hash
 
app = Flask(__name__)
app.secret_key = 'secret-key'
 
# 注册
@app.route('/register', methods=['POST'])
def register():
    username = request.form['username']
    password = generate_password_hash(request.form['password'])
    # 保存到数据库
    return redirect(url_for('login'))
 
# 登录
@app.route('/login', methods=['POST'])
def login():
    username = request.form['username']
    password = request.form['password']
    user = get_user(username)
    if user and check_password_hash(user.password, password):
        session['user_id'] = user.id
        return redirect(url_for('dashboard'))
    return 'Login failed'
 
# 登出
@app.route('/logout')
def logout():
    session.pop('user_id', None)
    return redirect(url_for('index'))
from flask_sqlalchemy import SQLAlchemy
 
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
db = SQLAlchemy(app)
 
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    password = db.Column(db.String(120))

1. 构建Todo应用 2. 构建博客系统 3. 构建电商网站

下一章:第四十章:自动化脚本

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • python/chapter39.txt
  • 最后更改: 2026/04/09 14:43
  • 张叶安