1. Hello World Flask App: This is a basic Flask application that displays "Hello World!" on a web page. It is a good starting point for learning Flask and understanding how to set up a simple web application.
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()
  1. Login System: This Flask application allows users to create an account and login. It uses Flask-Login to handle user authentication and Flask-WTForms to create the registration and login forms.
from flask import Flask, render_template, redirect, url_for
from flask_login import LoginManager, login_user, logout_user, login_required, UserMixin
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, Email, EqualTo

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secretkey'

login_manager = LoginManager(app)
login_manager.login_view = 'login'

class User(UserMixin):
    def __init__(self, id, username, email, password):
        self.id = id
        self.username = username
        self.email = email
        self.password = password

users = []

@login_manager.user_loader
def load_user(user_id):
    for user in users:
        if user.id == int(user_id):
            return user
    return None

class RegistrationForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired()])
    email = StringField('Email', validators=[DataRequired(), Email()])
    password = PasswordField('Password', validators=[DataRequired(), EqualTo('confirm_password', message='Passwords must match')])
    confirm_password = PasswordField('Confirm Password', validators=[DataRequired()])
    submit = SubmitField('Register')

class LoginForm(FlaskForm):
    email = StringField('Email', validators=[DataRequired(), Email()])
    password = PasswordField('Password', validators=[DataRequired()])
    submit = SubmitField('Login')

@app.route('/')
def home():
    return render_template('home.html')

@app.route('/register', methods=['GET', 'POST'])
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(len(users)+1, form.username.data, form.email.data, form.password.data)
        users.append(user)
        return redirect(url_for('login'))
    return render_template('register.html', form=form)

@app.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        for user in users:
            if user.email == form.email.data and user.password == form.password.data:
                login_user(user)
                return redirect(url_for('home'))
    return render_template('login.html', form=form)

@app.route('/logout')
@login_required
def logout():
    logout_user()
    return redirect(url_for('home'))

if __name__ == '__main__':
    app.run()
  1. Todo List: This Flask application allows users to create a todo list. It uses Flask-SQLAlchemy to store the todo list items in a database.
from flask import Flask, render_template, redirect, url_for, request
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///todo.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)

class TodoItem(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    text = db.Column(db.String(200))
    completed = db.Column(db.Boolean, default=False)

    def __repr__(self):
        return f'<TodoItem {self.id}>'

@app.route('/')
def home():
    todo_items = TodoItem.query.all()
    return render_template('home.html', todo_items=todo_items)

@app.route('/add', methods=['POST'])
def add():
    text = request.form['text']
    todo_item = TodoItem(text=text)
    db.session.add(todo_item)
    db.session.commit()
    return redirect(url_for('home'))

@app.route('/complete/<int:id>')
def complete(id):
    todo_item = TodoItem.query.get(id)
    todo_item.completed = True
    db.session.commit()
    return redirect(url_for('home'))

if __name__ == '__main__':
    db.create_all()
    app.run()
  1. File Upload: This Flask application allows users to upload files. It uses Flask-Uploads to handle file uploads and Flask-Bootstrap to create a nice-looking file upload form.
from flask import Flask, render_template, redirect, url_for
from flask_uploads import UploadSet, configure_uploads, IMAGES
from flask_bootstrap import Bootstrap
from flask_wtf import FlaskForm
from wtforms import FileField, SubmitField

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secretkey'
app.config['UPLOADED_PHOTOS_DEST'] = 'static/uploads'

photos = UploadSet('photos', IMAGES)
configure_uploads(app, photos)

bootstrap = Bootstrap(app)

class UploadForm(FlaskForm):
    photo = FileField('Photo')
    submit = SubmitField('Upload')

@app.route('/')
def home():
    return render_template('home.html')

@app.route('/upload', methods=['GET', 'POST'])
def upload():
    form = UploadForm()
    if form.validate_on_submit():
        filename = photos.save(form.photo.data)
        return redirect(url_for('uploaded_file', filename=filename))
    return render_template('upload.html', form=form)

@app.route('/uploads/<filename>')
def uploaded_file(filename):
    return f'<img src="{url_for("static", filename="uploads/"+filename)}">'

if __name__ == '__main__':
    app.run()
  1. API: This Flask application provides a simple API to retrieve and update data. It uses Flask-RESTful to create the API endpoints.
from flask import Flask
from flask_restful import Resource, Api, reqparse

app = Flask(__name__)
api = Api(app)

data = {
    '1': {'name': 'Alice', 'age': 25},
    '2': {'name': 'Bob', 'age': 30},
    '3': {'name': 'Charlie', 'age': 35},
}

parser = reqparse.RequestParser()
parser.add_argument('name')
parser.add_argument('age')

class User(Resource):
    def get(self, user_id):
        return data[user_id]
    
    def put(self, user_id):
        args = parser.parse_args()
        data[user_id]['name'] = args['name']
        data[user_id]['age'] = args['age']
        return data[user_id]
    
    def delete(self, user_id):
        del data[user_id]
        return '', 204

class Users(Resource):
    def get(self):
        return data
    
    def post(self):
        args = parser.parse_args()
        user_id = str(int(max(data.keys())) + 1)
        data[user_id] = {'name': args['name'], 'age': args['age']}
        return data[user_id], 201

api.add_resource(User, '/user/<string:user_id>')
api.add_resource(Users, '/users')

if __name__ == '__main__':
    app.run()
Write 5 python coding flask, explain

原文地址: https://www.cveoy.top/t/topic/n98 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录