Flask besser coden (Code-Dopplungen)
Verfasst: Samstag 4. Juni 2022, 14:31
Hallo zusammen,
ich arbeite aktuell an einer Flask-App und brauche in verschiedenen Routen die ähnlichen Funktionen, wie löschen, bearbeiten etc..
Wie vermeide ich solche Dopplungen? Da man ja sagt, code best practice ist es so etwas zu vermeiden.
Beispiel:
und fürs Löschen und co sehen diese Routen eben nochmals ähnlich aus. Für mich handelt es sich dabei um eine Dopplung im größten Sinne. In einem anderen Framework (Django) sieht dies ja ähnlich aus :/
Gibt es da eine Möglichketi dies "schöner" zu machen?
Grüße
Karlirex
ich arbeite aktuell an einer Flask-App und brauche in verschiedenen Routen die ähnlichen Funktionen, wie löschen, bearbeiten etc..
Wie vermeide ich solche Dopplungen? Da man ja sagt, code best practice ist es so etwas zu vermeiden.
Beispiel:
Code: Alles auswählen
@app.route("/customers", methods=['GET', 'POST'])
@login_required
def customers():
if request.method == 'POST':
if not request.form['name'] or not request.form['email'] or not request.form['bank_account']:
flash('Alle Felder beachten.', 'error')
else:
customer = Customers(name = request.form['name'], address = request.form['address'], email = request.form['email'], phone = request.form['phone'],
bank_account = request.form['bank_account'])
db.session.add(customer)
db.session.commit()
flash('Kunde erfolgreich hinzugefügt.')
return redirect(url_for('home'))
return render_template("HTML/customers.html", title='Customers')
Code: Alles auswählen
@app.route("/employees", methods=['GET', 'POST'])
@login_required
def employees():
if request.method == 'POST':
if not request.form['name'] or not request.form['email']:
flash('Alle Felder beachten.', 'error')
else:
employee = Employees(name = request.form['name'], address = request.form['address'], email = request.form['email'], phone = request.form['phone'],
group = request.form['group'])
db.session.add(employee)
db.session.commit()
flash('Mitarbeiter erfolgreich hinzugefügt.')
return redirect(url_for('home'))
if request.method == 'GET':
employees = Employees.query.all()
return render_template("HTML/employees.html", title='Employees', data=employees)
Gibt es da eine Möglichketi dies "schöner" zu machen?
Grüße
Karlirex