mod_python в основном не поддерживается - вы должны изучить mod_wsgi. Установите пакет libapache2-mod-wsgi, затем введите sudo a2enmod wsgi, чтобы включить его.
Как быстрый пример, чтобы запустить его, введите что-то подобное в /etc/apache2/sites-enabled/default:
WSGIScriptAlias /test /path/to/python/file.py
И в файле /path/to/python/file.py:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
После повторного запуска Apache2 любой запрос /test превратится в вызов application() в вашем файле python. [!d3 ]
Для дальнейшего чтения просмотрите WSGI (интерфейс веб-сервера WebServer), как Python интегрируется с веб-серверами.
Бонус / обновление:
Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижнюю часть вашего файла, вы можете запустить его как любой старый исполняемый файл для тестирования, а затем позволить Apache взять на себя производство:
if __name__ == '__main__':
from wsgiref.simple_server import make_server
httpd = make_server('', 8080, application)
print "Serving on http://localhost:8080"
httpd.serve_forever()
Фактически в вашем ListModel нет данных.
Предположим, вы используете это, из GitHub.
JSONListModel заполняется с использованием метода этого [!d2 ] из QtQuick ListModel. Этот метод требует указания роли и значения, но данные json, полученные из rad.io, содержат только значения.
По этой причине в вашу модель добавляются элементы списка, но они не содержат любые данные. Вы можете проверить это, добавив следующие строки в ваш делегат:
Component.onCompleted: {
console.log(JSON.stringify(json.model.get(model.index)))
}
Я бы предложил вам прочитать содержимое загружаемого json-файла из Интернета с помощью XMLHttpRequest, а затем проанализировать его и добавьте его содержимое в список строк (или var). Вы сможете получить доступ к контенту через ListView, используя роль JSONListModel .