Найти - Пользователи
Полная версия: Как узнать открыты ли страницы в данный момент
Начало » Python для новичков » Как узнать открыты ли страницы в данный момент
1 2
ingfa_1981
Уважаемые форумчане, подскажите пожалуйста как мне в программе определить время обращения пользователя к страничкам по ссылкам “/” , “/all/off”, и в это время выполнять другой код (чтение строки из файла)?

from flask import Flask, render_template
import datetime
app = Flask(__name__)
i = 0
@app.route("/")
def hello():
    now = datetime.datetime.now()
    timeString = now.strftime("%Y-%m-%d %H:%M")
    templateData = {
        'title' : 'Stranica',
        'time': timeString
    }
    return render_template('gpioweb.html', **templateData)
@app.route("/all/off")
def actionalloff():
    global i
    i =  i + 1
    now = datetime.datetime.now()
    timeString = now.strftime("%Y-%m-%d %H:%M")
    message = "Najmite chtobi peregruzit."
    templateData = {
        'title' : 'Stranica {0}'.format(i),
        'message' : message,
        'time' : timeString
    }
    return render_template('gpioweb.html', **templateData)
if __name__ == "__main__":
   app.run(host='127.0.0.1', port=8001, debug=True)
Singularity
i =  i + 1
мне кажеться или тут не будет точных данных?
ingfa_1981
Это вообще не тот код, что мне нужен. Просто мне бы смысл понять. Если вызвана страница пользователем ему выводятся данные. А если пользователь не вызывает страницу в браузере то данные пишутся в лог файл.
Как это сделать ?
py.user.next
Singularity
мне кажеться или тут не будет точных данных?

Обычная конструкция.
FishHook
ingfa_1981
Ты же на сокетах все делать собирался. Ну и проверяй, открыто соединение или нет.
Singularity
py.user.next
да но вьюшки в разных потоках, а i общая.
ingfa_1981
А как это сделать ? Прошу слезно дайте пример.
FishHook
ingfa_1981Ты же на сокетах все делать собирался. Ну и проверяй, открыто соединение или нет.
py.user.next
Singularity
а но вьюшки в разных потоках, а i общая.

А, ты в этом смысле. Ну, если они в разных потоках выполняются и одна вперёд другой может забежать, то изменения в более медленной могут быть отображены более быстрой.

То есть одна, допустим, делает 1, а другая в этот момент работает и делает 2, первая не успела отобразить 1 и, доходя до места вывода, отображает 2.

Фреймворки не изучал, как они работают не в курсе. А вот в обычных многопоточных программах так.
FishHook
Дело не в потоках, а в том, что веб-сервер запустит несколько экземпляров приложения.
Пока это все крутится на девелоперском сервере, всё хорошо. Но как только такую каку мы выкладем в продакшен, тут то всё и сломается.
ingfa_1981
А почему мне не ответили ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB