diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..257d3f9 Binary files /dev/null and b/.DS_Store differ diff --git a/main.py b/main.py index a7b6794..c6eda4e 100644 --- a/main.py +++ b/main.py @@ -1,23 +1,77 @@ import os import base64 -from flask import Flask, render_template, request, redirect, url_for, session +from flask import Flask, render_template, request, redirect, url_for, session,jsonify -from model import Donation +from model import Donation, Donor,Login app = Flask(__name__) +app.config['SECRET_KEY'] = '123456' + @app.route('/') def home(): - return redirect(url_for('all')) + return render_template('all_donations.jinja2') + + +@app.route('/login/', methods=['POST','GET']) +def login(): + if request.method=='POST': + username = request.form['name'] + password = request.form['password'] + login_check=Login.select().where(Login.username == username,Login.password==password) + if login_check: + return render_template('base.jinja2') + else: + return render_template('login.jinja2',error='no usrename') + else: + return render_template('login.jinja2') + + +@app.route('/create/', methods=['POST','GET']) +def create(): + if request.method=='POST': + donor = Donor() + donor.name=request.form['name'] + donor.save() + donations=Donation() + donations.value = request.form['value'] + donations.donor = donor.id + donations.save() + return jsonify({"data":"add success!"}) + else: + return render_template('create.jinja2') -@app.route('/donations/') + +@app.route('/donations/', methods=['GET', 'POST']) def all(): donations = Donation.select() return render_template('donations.jinja2', donations=donations) - + + +@app.route('/donations2/', methods=['GET', 'POST']) +def donations_for(): + if request.method == 'GET': + return render_template('all_donations.jinja2') + + elif request.method == 'POST': + name = request.form['name'] + value = request.form['value'] + donations = Donation.select().join(Donor).where(Donor.name == name) + + if donations: + donor = Donor() + donor.name = name + donor.save() + donations2 = Donation() + donations2.value = value + donations2.donor = donor.id + donations2.save() + return render_template('donations.jinja2',donations=donations) + else: + return render_template('donations.jinja2', error='wrong!') if __name__ == "__main__": port = int(os.environ.get("PORT", 6738)) - app.run(host='0.0.0.0', port=port) + app.run(host='0.0.0.0', port=port,debug=True) diff --git a/model.py b/model.py index baa7e50..1459905 100644 --- a/model.py +++ b/model.py @@ -5,12 +5,22 @@ db = connect(os.environ.get('DATABASE_URL', 'sqlite:///my_database.db')) + +class Login(Model): + username = CharField(max_length=255, unique=False) + password = CharField(max_length=255, unique=False) + + class Meta: + database = db + + class Donor(Model): - name = CharField(max_length=255, unique=True) + name = CharField(max_length=255, unique=False) class Meta: database = db + class Donation(Model): value = IntegerField() donor = ForeignKeyField(Donor, backref='donations') diff --git a/setup.py b/setup.py index 8854a12..8967d44 100644 --- a/setup.py +++ b/setup.py @@ -1,14 +1,17 @@ import random -from model import db, Donor, Donation +from model import db, Donor, Donation,Login db.connect() # This line will allow you "upgrade" an existing database by # dropping all existing tables from it. -db.drop_tables([Donor, Donation]) +db.drop_tables([Donor, Donation,Login]) -db.create_tables([Donor, Donation]) +db.create_tables([Donor, Donation,Login]) + +user = Login(username='admin',password='123456') +user.save() alice = Donor(name="Alice") alice.save() diff --git a/templates/all_donations.jinja2 b/templates/all_donations.jinja2 new file mode 100644 index 0000000..c177f98 --- /dev/null +++ b/templates/all_donations.jinja2 @@ -0,0 +1,13 @@ +{% extends 'base.jinja2' %} + +{% block subtitle %}All the things{% endblock subtitle %} + +{% block content %} +