Untitled
unknown
plain_text
a year ago
2.0 kB
4
Indexable
from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
import os
app = Flask(__name__)
# Konfigurasi database untuk development dan production
if 'DATABASE_URL' in os.environ:
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['DATABASE_URL']
else:
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///absensi.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
# Model database
class Absensi(db.Model):
id = db.Column(db.Integer, primary_key=True)
nama_lengkap = db.Column(db.String(100), nullable=False)
nik = db.Column(db.String(16), nullable=False)
asal_sekolah = db.Column(db.String(100), nullable=False)
jurusan = db.Column(db.String(50), nullable=False)
tahun_lulus = db.Column(db.Integer, nullable=False)
waktu_absen = db.Column(db.DateTime, default=datetime.utcnow)
def __repr__(self):
return f'<Absensi {self.nama_lengkap}>'
# Buat tabel database
with app.app_context():
db.create_all()
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
nama_lengkap = request.form['nama_lengkap']
nik = request.form['nik']
asal_sekolah = request.form['asal_sekolah']
jurusan = request.form['jurusan']
tahun_lulus = request.form['tahun_lulus']
absensi = Absensi(
nama_lengkap=nama_lengkap,
nik=nik,
asal_sekolah=asal_sekolah,
jurusan=jurusan,
tahun_lulus=tahun_lulus
)
db.session.add(absensi)
db.session.commit()
return redirect(url_for('daftar_hadir'))
return render_template('index.html')
@app.route('/daftar-hadir')
def daftar_hadir():
semua_absensi = Absensi.query.order_by(Absensi.waktu_absen.desc()).all()
return render_template('daftar_hadir.html', absensi=semua_absensi)
if __name__ == '__main__':
app.run(debug=False)Editor is loading...
Leave a Comment