Простейший способ преобразования консольного приложения python в веб-приложение
Я работаю над проектом текстовой игры на Python. Сейчас я закончил консольное приложение + база данных sqlite. Теперь я хочу преобразовать консольное приложение в веб-приложение - это будет первое веб-приложение в моей жизни.
Я хочу создать простой графический интерфейс. С основным логотипом, фоновым изображением, несколькими кнопками и текстовыми зонами. Пример проекта простого GUI: simple gui project
Я хотел бы, чтобы логика приложения была основана на коде, уже созданном для консольного приложения. Например, заменив текущие консольные функции (например, print) на функцию, которая возвращает данные в виде JSON. Но без изменения внутренней логики функции, уже написанной на Python. Возможно ли это? Какой самый простой способ (и какие технологии?) это сделать?
Преобразование приложения python в веб-приложение в некоторых случаях является не очень практичной задачей.
Я думаю, вам следует использовать что-то вроде Flask или Django, но если вы не хотите слишком усложнять себе жизнь, возможно, есть альтернатива, и она называется PyPy.js
Первые вещи, которые вы должны учитывать в логике веб-приложений, это то, что HTML - это скелет того, что вы собираетесь показать, поэтому вы должны изучить его, Javascript добавляет динамичность вашей странице, например, анимацию и обновление данных без перезагрузки страницы, и CSS для добавления стилей к вашим html-тегам.
<head>
<script src="http://pypyjs.org/pypyjs-release/lib/Promise.min.js"></script>
<script src="http://pypyjs.org/pypyjs-release/lib/FunctionPromise.js"></script>
<script src="http://pypyjs.org/pypyjs-release/lib/pypyjs.js"></script>
</head>
<body>
<script type="text/javascript">
pypyjs.exec(
// Run Python code
'y = "hellow" '
).then(function() {
// transferring the variables we need to Javascript, in this case only 'y'.
return pypyjs.get('y');
}).then(function(result) {
// Display an alert like print in Python
alert(result);
});
</script>
</body>
это будет то же самое, что и ...
y = "hellow"
print (y)