1 # Import libraries 2 from flask import Flask, redirect, request, render_template, url_for 3 # Instantiate Flask functionality 4 app = Flask(__name__) 5 # Sample data 6 transactions = [ 7 {'id': 1, 'date': '2023-06-01', 'amount': 100}, 8 {'id': 2, 'date': '2023-06-02', 'amount': -200}, 9 {'id': 3, 'date': '2023-06-03', 'amount': 300} 10 ] 11 # Read operation 12 @app.route("/") 13 def get_tansactions(): 14 return render_template("transactions.html",transactions=transactions) 15 16 # Create operation 17 @app.route("/add",methods=["GET","POST"]) 18 def add_transaction(): 19 if request.method == 'POST': 20 # Create a new transaction object using form field values 21 transaction = { 22 'id': len(transactions) + 1, 23 'date': request.form['date'], 24 'amount': float(request.form['amount']) 25 } 26 # Append the new transaction to the list 27 transactions.append(transaction) 28 29 # Redirect to the transactions list page 30 return redirect(url_for("get_transactions")) 31 32 # Render the form template to display the add transaction form 33 return render_template("form.html") 34 35 # Update operation 36 @app.route("/edit/<int:transaction_id>",methods=['POST','GET']) 37 def edit_transaction(transaction_id): 38 if request.method == 'POST': 39 date = request.form['date'] 40 amount = float(request.form['amount']) 41 42 # Find the transaction with the matching ID and update its values 43 for transaction in transactions: 44 if transaction['id'] == transaction_id: 45 transaction['date'] = date 46 transaction['amount'] = amount 47 break 48 49 # Redirect to the ransactions list page 50 return redirect(url_for("get_transactions")) 51 52 # Find the transaction with the matching ID and render the edit form 53 for transaction in transactions: 54 if transaction['id'] == transaction_id: 55 return render_template("edit.html", transaction=transaction) 56 57 # Delete operation 58 @app.route("/delete/<int:transaction_id>") 59 def delete_transaction(transaction_id): 60 # Find the transaction with the matching ID and remove it from the list 61 for transaction in transactions: 62 if transaction['id'] == transation_id: 63 transactions.remove(transaction) 64 break 65 66 # Redirect to the transactions list page 67 68 return redirect(url_for("get_transactions")) 69 # Run the Flask app 70if __name__ == "__main__":app.run(debug=True)
浙公网安备 33010602011771号