@sparrow: NOCHMAL die Doku bringt mir NICHTS, da ich aus einer DATENBANK ohne LOKALEN FILEORDNER arbeite und deshalb ich mit den BYTES arbeiten MUSS.
Den Upload zu prüfen habe ich ja versucht mit dem if request.files! Das läuft er aber jedes Mal trotzdem durch.
Beispielsweise habe ich mir vor dem if == POST eine Überprüfung gesetzt.
Code: Alles auswählen
@app.route('/update/<int:id>', methods=['GET', 'POST'])
def update(id):
method_update = HPLCMETHODS.query.get_or_404(id)
data = HPLCMETHODS.query.filter_by(id=id).first()
old_file = data.data
print(old_file)
if request.method == 'POST':
method_update.name = request.form['name']
method_update.eluent = request.form['eluent']
method_update.column = request.form['column']
method_update.comment = request.form['comment']
method_update.temperatur = request.form['temperatur']
method_update.flow = request.form['flow']
method_update.mitarbeiter = request.form['mitarbeiter']
method_update.retentiontime = request.form['retentiontime']
method_update.gerät = request.form['gerät']
Diese printed einmal beim auf Update klicken, was ja richtig ist. Submite ich, printed diese allerdings nochmal.
Ich kann also garnichts logisch abfragen, da sie sich vorher und nachher mit den Werten überschreibt und oben nochmal läuft.
und in meiner update-html:
Code: Alles auswählen
<form action = "{{ request.path }}" method = "post" enctype="multipart/form-data">
<table>
<thead>
<th><label for = "name">Name</label></th>
<th><label for = "eluent">Eluent</label></th>
<th><label for = "column">Säule</label></th>
<th><label for = "comment">Kommentar</label></th>
<th><label for = "temperatur">Temperatur [°C]</label></th>
<th><label for = "flow">Fluss [ml/min]</label></th>
<th><label for = "retentiontime">Retentionszeit [min]</label></th>
<th><label for = "mitarbeiter">Mitarbeiter</label></th>
<th><label for = "gerät">Gerätename</label></th>
<th><label for = "data">Datei</label></th>
</thead>
<tbody>
<td><input type = "text" name = "name" placeholder = "Name" value = "{{ method_update.name }}" /></td>
<td><input type = "text" name = "eluent" placeholder = "Eluent" value = "{{ method_update.eluent }}" /></td>
<td><input type = "text" name = "column" placeholder = "Säule" value = "{{ method_update.column }}" /></td>
<td><input type = "text" name = "comment" placeholder = "Kommentar" value = "{{ method_update.comment }}" /></td>
<td><input type = "text" name = "temperatur" placeholder = "Temperatur" value = "{{ method_update.temperatur }}" /></td>
<td><input type = "text" name = "flow" placeholder = "Fluss" value = "{{ method_update.flow }}" /></td>
<td><input type = "text" name = "retentiontime" placeholder = "Retentionszeit" value = "{{ method_update.retentiontime }}" /></td>
<td><input type = "text" name = "mitarbeiter" placeholder = "Mitarbeiter" value = "{{ method_update.mitarbeiter }}" /></td>
<td><input type = "text" name = "gerät" placeholder = "Gerätename" value = "{{ method_update.gerät }}" /></td>
<td>
<input type="file" name="inputFile" value = "{{ method_update.data }}" />
</td>
<td><input type = "submit" value = "Bearbeiten" /></td>
Bleiben damit eben die text-inputs stehen nur die File eben nicht, auch bei dem einfachen Post, wo ich alles überschreibe, weil die eben da drin stehen bleiben.