Seite 1 von 2

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 12:21
von Hypec
Sorry vergessen hier ist mein code:
Flask:

Code: Alles auswählen

from flask import Flask, render_template, url_for
import requests
import datetime

d = datetime.datetime.now()
app = Flask(__name__)

@app.route('/',methods=['GET','POST'])
def index():
    return render_template('index.html')

@app.route('/uhr')
def uhr():
   return d.strftime ("%d-%m-%Y %H:%M:%S")

@app.route('/test.html')
def test():
    return render_template('test.html', time=d.strftime ("%d-%m-%Y %H:%M:%S"))


if __name__ == '__main__': app.run(debug=True)
Test.html:

Code: Alles auswählen

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Gewächshaus</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            
                body {
                    background-color: darkgray;
                    color: black;
                    font-family: 'Arial', sans-serif;
                }
            
        </style>
    </head>
    <body>
        <h1 id="tittle">Gewächshaus</h1>
        <nav>
            <ul>
                <a href="https://pythonv1.herokuapp.com/">HOME</a><br>
                <a href="https://pythonv1.herokuapp.com/test.html">TEST</a><br>
            </ul>
        </nav>
        <h2>Test </h2>
        <p>
            only a Test {{time}}
        </p><br>
    </body>
</html>

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 12:29
von pixewakb
Du hast das von mir beschriebene Problem, testest du mal mein Codebeispiel?

BTW: Ich würde relative Pfade nutzen statt https://pythonv1.herokuap...

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 12:43
von Sirius3
@Hypec: und jetzt schau mal, wann die Uhrzeit ermittelt wird.

Man kann die Uhrzeit in UTC übertragen und dann per Javascript umrechnen lassen:

Code: Alles auswählen

<div> Jetzt: <date>2018-08-06T15:32:12</date> </div>
<script>
dates = document.getElementsByTagName('date')
for(var i=0; i<dates.length; i++)
    dates[i].innerHTML = new Date(dates[i].innerHTML).toLocaleString()
</script>

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 12:54
von Hypec
Eine Überlegung meinerseits: Du hast das Problem, dass - wenn die Besucher deiner Website nicht aus deiner Zeitzone kommen - sie eine falsche Zeit angezeigt erhalten. Du müsstest hier dann vielleicht auch deren IP, ihre wahrscheinliche Herkunft ermitteln und dann deren Zeitzone zu treffen versuchen. Das ist meine bisherige Überlegung. Persönlich würde ich dazu tendieren Benutzern keine Uhrzeit anzuzeigen (!) und das Datum nur fürs loggen zu verwenden, da spielt es dann aber auch keine Rolle, ob die Uhrzeit passt.
Also da sich der Besucherkreis der Webseite sich eigentlich nur auf mich bezieht kann ich die Zeitzone ziemlich genau sagen und die brauche ich auch da ich regelmässig Messwerte an den Server senden, darauf sammeln und dann anzeigen will, da ist ein Zeitstempel für die Werte schon sinnvoll. Das problem ist das der Server des Hosters in einer anderen Zeitzone steht und ich deshalb immer den Zeitstempel mit 2 Stunden Zeitverschiebung hätte.

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 12:59
von __blackjack__
@Hypec: Bei Zeitstempeln in einer Datenbank würde ich sowieso überlegen UTC zu verwenden, und dann bei der Anzeige in die entsprechende Zeitzone umzuwandeln. Dann ist egal wo Server und Client sitzen und ob Sommerzeit gilt oder nicht.

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 13:07
von __blackjack__
@Sirius3: <date> ist jetzt aber eine selbsterfundenes Tag, oder? HTML5 kennt für (maschinenlesbare) Zeit- und Datumsangaben das <time>-Element. Also zum Beispiel ``<time datetime="2018-08-06T15:32:12Z"></time>``

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 13:55
von Hypec
Ich habe es Jetzt mit diesem Code hier geschaft die Zeitzone richtig festzulegen jetzt muss ich es nur noch hinbekommen das, das ganze bei jedem Request Aktualisiert wird.

Code: Alles auswählen

from flask import Flask, render_template, url_for
import datetime
import pytz

#d = datetime.datetime.now()
my_date = datetime.datetime.now(pytz.timezone('Europe/Berlin'))
fmt = "%d-%m-%Y %H:%M:%S"
app = Flask(__name__)

@app.route('/',methods=['GET','POST'])
def index():
    return render_template('index.html')

#@app.route('/uhr')
#def uhr():
#   return d.strftime ("%d-%m-%Y %H:%M:%S")

@app.route('/test.html')
def test():
   return render_template('test.html', time=my_date.strftime(fmt))


if __name__ == '__main__': app.run(debug=True)

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 13:58
von __deets__
Dann mach das doch nicht auf Modul-Ebene, sondern in /uhr :K

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 14:03
von pixewakb
__deets__ hat geschrieben: Mittwoch 8. August 2018, 13:58 Dann mach das doch nicht auf Modul-Ebene, sondern in /uhr :K
Soll heißen: Schreib die Zeilen zum Datum in die Funktion test() bwz. nach der Zeile: def test():

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 14:52
von Hypec
Ich hab das ganze jetzt so geändert aber es geht immer noch nicht.

Code: Alles auswählen

from flask import Flask, render_template, url_for
import datetime
import pytz

#d = datetime.datetime.now()
my_date = datetime.datetime.now(pytz.timezone('Europe/Berlin'))
fmt = "%d-%m-%Y %H:%M:%S"
app = Flask(__name__)

@app.route('/',methods=['GET','POST'])
def index():
    return render_template('index.html')

#@app.route('/uhr')
#def uhr():
#   return d.strftime ("%d-%m-%Y %H:%M:%S")

@app.route('/test.html')
def test():
    x = my_date.strftime(fmt)
    return render_template('test.html', time = x)


if __name__ == '__main__': app.run(debug=True)

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 15:03
von __blackjack__
@Hypec: Du ermittelst die Zeit *einmal* in der 6. Zeile und formatierst dann nur noch bei jedem Abruf dieses einmal ermittelte `datetime`-Objekt bei jedem Aufruf. Du musst das jedes mal neu ermitteln. Das gehört sowieso nicht auf Modulebene.

Re: PHP in Python übersetzen

Verfasst: Mittwoch 8. August 2018, 16:17
von Hypec
Vielen Dank für eure Hilfe jetzt geht die Uhr.