flask+sqlalchemy查改删
效果:
main.py
1# coding: utf-8 from sqlalchemy import CheckConstraint, Column, Integer, Text, or_ from sqlalchemy.schema import FetchedValue from flask_sqlalchemy import SQLAlchemy from flask import Flask,url_for,redirect,render_template,request,flash,current_app import os,sys app = Flask(__name__) basedir = os.path.abspath(os.path.dirname(__file__)) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db = SQLAlchemy(app) class Teacher(db.Model): __tablename__ = 'Teachers' Id = db.Column(db.Integer, primary_key=True) Name = db.Column(db.Text) Age = db.Column(db.Integer) Country = db.Column(db.Text) def __init__(self,Name,Age,Country): self.Name = Name self.Age = Age self.Country = Country @app.route('/', methods=['GET']) def home(): article = Teacher.query.all() return render_template('show_article.html',article=article) @app.route('/search') def search(): keyword = request.args.get('keyword') print(keyword) result = Teacher.query.filter(or_(Teacher.Name==keyword,Teacher.Age==keyword,Teacher.Country==keyword)).all() if result: return render_template('show_article.html', article=result) else: return 'No content was found!' @app.route('/list/update/',methods=['GET','POST']) def modi(id): if request.method=='GET': result = Teacher.query.filter_by(Id=id).first_or_404() return render_template('update_article.html',article=result) else: Name = request.form['Name'] Age = request.form['Age'] Country = request.form['Country'] result = Teacher.query.filter_by(Id=id).update({'Name':Name, 'Age':Age,'Country':Country}) db.session.commit() return redirect('/') @app.route('/ ',methods=['GET','DELETE']) def remove_record(id): if request.method=='GET': result = Teacher.query.filter_by(Id=id).first.or_404 return render_template('show_article.html', article=result) else: result = Teacher.query.filter_by(Id=id).delete() db.session.commit() return '',204 @app.route('/favicon.ico') def favicon(): return send_from_directory(os.path.join(app.root_path, 'static'), 'favicon.ico', mimetype='image/vnd.microsoft.icon') if __name__ =='__main__': app.run(port=8081)
show_article.html
Name | Age | Country | ||
---|---|---|---|---|
{{article.Name}} | {{article.Age}} | {{article.Country}} | 修改 | 删除 |
update_article.html