Что самый легкий путь состоял в том, чтобы произвести сценарий Python в сети?

В настоящее время нет встроенного способа добавления глобальных агрегатов, однако в Github уже зарегистрирован запрос на функцию. Вы можете следить за развитием этой функции:

6
задан timepilot 8 April 2009 в 19:31
поделиться

9 ответов

Похоже, в этом вопросе есть две вещи.

  1. Презентация в Интернете. Это легко сделать в Python - используйте Django или TurboGears или любую основанную на Python веб-инфраструктуру.

  2. Обновите веб-страницу, чтобы показать новые данные. Это можно сделать двумя способами.

    • Некоторый модный Javascript для обновления.

    • Некоторый модный HTML для обновления страницы. Тэг meta refresh - это то, что вам нужно. Если вы сделаете это, у вас будет полностью Python-решение.

5
ответ дан 8 December 2019 в 14:47
поделиться

Если вам нужен простой и простой способ печати данных от сценария Python до веб-страницы и автоматического обновления, вы можете просто распечатать из сценария. Например, используя Apache с приведенным ниже сценарием Python CGI:

#!/usr/bin/python 

import time
import sys
import random

def write(inline=''):
    sys.stdout.write(inline)
    sys.stdout.write('\r\n')
    sys.stdout.flush()

#prints out random digits between 1 and 1000 indefinitely
write("Content-type: text/html\r\n")
i = 0
while(True):
    i = i + 1
    time.sleep(1)
    write(str(i) + "<br />")

Если я перехожу к нему в браузере (Firefox, не знаю, могут ли другие браузеры работать по-разному в отношении буферизации и т. Д.), Он печатает цифры непрерывно. Имейте в виду, Он печатается в последовательном порядке, поэтому новые данные располагаются внизу, а не сверху, но это может работать в зависимости от того, что именно вы хотите сделать.

Если это на самом деле не то, что вы ищете, единственный другой способ сделать это - автоматическое обновление страницы (либо в iframe, либо на всей странице) или с помощью javascript для извлечения данных.

Вы можете использовать мета-тег обновления в своем HTML-коде iframe или страницы, и ваш CGI может печатать новые данные каждый раз, когда они обновляются. Кроме того, вы можете использовать javascript с XMLHTTPRequest для чтения новых данных без визуального обновления страницы.

или всю страницу) или с помощью JavaScript, чтобы сделать выборку данных.

Вы можете использовать мета-тег обновления в своем HTML-коде iframe или страницы, и ваш CGI может печатать новые данные каждый раз, когда они обновляются. Кроме того, вы можете использовать javascript с XMLHTTPRequest для чтения новых данных без визуального обновления страницы.

или всю страницу) или с помощью JavaScript, чтобы сделать выборку данных.

Вы можете использовать мета-тег обновления в своем HTML-коде iframe или страницы, и ваш CGI может печатать новые данные каждый раз, когда они обновляются. Кроме того, вы можете использовать javascript с XMLHTTPRequest для чтения новых данных без визуального обновления страницы.

3
ответ дан 8 December 2019 в 14:47
поделиться

Если вы хотите сделать это полностью на python, вы можете использовать пижаму .

Он генерирует javascript непосредственно из кода python, поэтому вы избегаете полностью писать javascript самостоятельно.

2
ответ дан 8 December 2019 в 14:47
поделиться

Вам необходим Javascript тем или иным образом для обновления в течение 30 секунд. Кроме того, вы можете установить обновление метатега на каждые 30 секунд для перенаправления на текущую страницу, но маршрут Javascript предотвратит мерцание страницы.

1
ответ дан 8 December 2019 в 14:47
поделиться

Вы можете использовать Комету , но я настоятельно не рекомендую вам делать это. Я просто написал бы короткий Javascript, используя jQuery , это действительно просто.

Другая возможность - это использование iframe, который перезагружается каждые 30 секунд, это предотвратит перезагрузку всей страницы.

2
ответ дан 8 December 2019 в 14:47
поделиться

JavaScript является основным способом добавления такого рода интерактивности на веб-сайт. Вы можете создать внутренний Python, но клиенту придется использовать вызовы JavaScript AJAX для обновления страницы. Python не запускается в браузере, поэтому вам не повезло, если вы хотите использовать только Python.

(Это

1
ответ дан 8 December 2019 в 14:47
поделиться

Запишите выходные данные в файл журнала и загрузите файл журнала в браузер через веб-сервер. Если вам нужно автоматическое обновление, создайте файл шаблона HTML с тегом для обновления каждые 15 секунд:

<META HTTP-EQUIV="refresh" CONTENT="15">

и используйте на стороне сервера, включите , чтобы включить файл журнала на странице.

1
ответ дан 8 December 2019 в 14:47
поделиться

Это должно сработать:

function areCookiesEnabled() {
  document.cookie = "__verify=1";
  var supportsCookies = document.cookie.length >= 1 && 
                        document.cookie.indexOf("__verify=1") !== -1;
  var thePast = new Date(1976, 8, 16);
  document.cookie = "__verify=1;expires=" + thePast.toUTCString();
  return supportsCookies;
}

Это устанавливает cookie с истечением сессии, проверяет его существование, а затем снова устанавливает его в прошлом, удаляя.

и веб-сервер не сможет принимать дальнейшие соединения. Итак, вам нужно использовать более специализированный сервер.

  • Платформа витой Python идеально подходит для таких серверов - следующие два между прочим, оба сервера написаны с его помощью
  • cometd - «самый известный» сервер с длительным опросом, хотя мне никогда не сильно везло с реализацией Python
  • slosh - кажется, чрезвычайно прост в использовании. Реализовано в Python, хотя вы можете взаимодействовать с ним через HTTP-запросы
1
ответ дан 8 December 2019 в 14:47
поделиться

Это для настоящего веб-приложения? Или вам удобно просматривать вывод в браузере? Если это так для удобства, вы можете рассмотреть возможность использования mod_python.

mod_python - это расширение для веб-сервера apache, которое встраивает интерпретатор python в веб-сервер (поэтому скрипт запускается на стороне сервера). Это легко позволит вам делать такие вещи локально или для вашего удобства. Тогда вы можете просто запустить скрипт с модом python и обработчик опубликует ваши результаты. Возможно, вы могли бы также легко реализовать обновление, но я бы не знал, как это сделать.

Надеюсь, это поможет ... посмотрите mod_python. Это не так уж плохо, когда вы все настроите.

0
ответ дан 8 December 2019 в 14:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: