Wie Wandel ich das Datum am besten wieder in ein datetime.date um?
Und noch eine kleine Frage zum schreiben der Datei momentan nütze ich diesen code hier:
Code: Alles auswählen
from flask import Flask, render_template, url_for, request
import datetime #Uhrzeit
import pytz #Zeitzone
app = Flask(__name__)
@app.route('/')
@app.route('/index')
def index():
return render_template('index.html')
@app.route('/test')
def test():
f = open('test.txt', "r")
return render_template('test.html', test = f.read())
@app.route('/getdata', methods=['GET', 'POST'])
def getdata():
if request.method == 'POST':
file = open('test.txt', "a+")
data = request.data
my_date = datetime.datetime.now(pytz.timezone('Europe/Berlin'))
fmt = "%Y-%m-%d %H:%M:%S"
for i in data:
file.write(my_date.strftime(fmt) + "; ")
file.write(str(data) + '\n')
file.close()
return data
return render_template('getdata.html')
if __name__ == '__main__': app.run(debug=True)
test.html:
Code: Alles auswählen
{% extends "base.html" %}
{% block content %}
<title>Gewächshaus</title>
<h1>Gewächshaus</h1>
<h2>Test </h2>
<p>
only a Test {{test}}
</p>
<br>
{% endblock %}
noch das base.html
Code: Alles auswählen
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% if title %}
<title> {{title}} </title>
{% else %}
<title> Myapp </title>
{% endif %}
<link rel="stylesheet" type="text/css" href="{{url_for('static', filename='css/style.css') }}" >
</head>
<body>
<div class="menu">
<nav>
<li>
<a href="{{url_for('index')}}"> Home </a>
</li>
<li>
<a href="{{url_for('test')}}"> Test </a>
</li>
<li>
<a href="{{url_for('getdata')}}"> Daten </a>
</li>
<li>
<a href="{{url_for('writedata')}}"> File </a>
</li>
</nav>
<h1><br></h1>
</div>
<div class="container">
{% block content %}{% endblock %}
</div>
</body>
Ausgabe auf der Test.html seite ist dannn : 2018-08-14 15:25:12; b'354\r\n' 2018-08-14 15:25:12; b'354\r\n' 2018-08-14 15:25:12; b'354\r\n' 2018-08-14 15:25:12; b'354\r\n' 2018-08-14 15:25:12; b'354\r\n' also das ganze wird nicht wie gewollt ein mal hineingeschrieben sondern 5 mal, zudem steht vor dem Messwert ein b' und dahinter \r\n', weiß jemand wie ich das nur einmal schreiben kann und die 3 sachen die nicht dort stehen sollen weg lasse?