LINUX.ORG.RU

простой веб на питоне

 ,


5

5

а есть фреймворки фронтенда на питоне? ну может фреймворк это громко сказано, основная задача это перенос управления консольной программы на питоне в веб. не хотелось бы выходить за рамки питона и сделать связку веб-сервера питоновского и какого то представления работы программы в вебе. поэтому мне кажется всякие фласки и джанги будут излишними, а вот чем их заменить, что было все одном: выполнение программы, взаимодействие и отображение в вебе? ориентировочно никаких сложных форм там не будет, по сути любой питоновский веб сервер + отображение форм + взаимодействие с пользователем + вывод результата.



Последнее исправление: chenbr0 (всего исправлений: 1)

Смотря что ты имеешь ввиду. Transcrypt есть, транслятор питона в жс. А вообще, все эти фреймворки это топтание на месте вокруг убогого язычка, от которого никуда не денешься. Вуи, реакты, ангуляры и их стейт-менеджмент это попытка прикинуться, что способ обойти убогость является методологией разработки сам по себе. Что тут есть питон фреймворк?

anonymous
()
Ответ на: комментарий от anonymous

Зато высказался, че.
Мне почему-то казалось, ч то он на питоне.

Zhbert ★★★★★
()

Если Native Client воскресят и выведут в массы - тогда можно будет фронт на питоне делать.

wisp ★★
()

на питоне

А какая цель именно на питоне? В общем-то есть несколько компиляторов в WebAssembly, но зачем?

no-such-file ★★★★★
()
Ответ на: комментарий от crutch_master

искать порно картинки. я погуглил python frontend framework, но там всякие фласки и джанги, а они для серверной части.

chenbr0
() автор топика
Ответ на: комментарий от chenbr0

Фласки это всего лишь декораторы, позволяющие закинуть функцию в рест. Без них ты будешь руками поднимать сервер и ифами сравнивать урлы, что не сложно, но опыт бессмысленный. С новыми вводными, я бы сказал тебе нужен веб 1.0, фласк и простой темплейтер для форм - самый простой, с приятным тебе туториалом. Вот джанги да, тебе нафиг не сдались.

anonymous
()
Ответ на: комментарий от chenbr0

Хтмл цсс будешь при этом руками писать, естественно. Ничего такого типа тк/гтк/кутэ из питона для веба в природе не существует, а что существует, то лучше руками не трогать extjs. Возьми какой-нибудь простой набор вроде bulma и g “html5 basic template” и клепай на этом.

anonymous
()

управления консольной программы на питоне в веб

Поднимаешь сервер на WebSocket и делаешь консольку в браузере :)

Чем отдавать статику (ну, почти) не так важно, кода на js там будет всего ничего.

KillTheCat ★★★★★
()

Как раз недавно пытался развернуть «микрофреймворк» Flask - из-за кучи зависимостей он даже не завелся на моей домашней машине, не то что на виртуальном хостинге - где я не имею доступа к установке пакетов.

И тогда я открыл Bottle - это истинный микрофреймворк, достаточно только скопировать 1 (один) файл «bottle.py» в каталог, где у тебя будет сайт, и всё, ты получаешь полный аналог фласка без лишнего геморроя.

Позволяет работать с очень удобными tpl-шаблонами.

С базами приходится работать через штатные питоновские библиотеки, но это даже хорошо, никакого левого геммороя с MVC и прочими «радостями».

Короче, рекомендую.

Единственное, если на серваке python2, то может придётся скачать не самую последнюю версию (самая свежая, к-ю я сначала скачал на Github, у меня под питоном 2.7 не заработала), но зато один файл bottle.py работает сразу на обоих питонах - это ещё один плюс.

Novator ★★★★★
()
Ответ на: комментарий от Novator

я так понял боттл, это микросервер, который транслирует текущую папку в веб, ну и например пару страниц в html, верно? и через эти страницы можно будет привязаться к остальном коду?

chenbr0
() автор топика
Ответ на: комментарий от chenbr0

Нет, bottle - это полноценный микрофреймворк.

Логика работы описывается в python-приложении (и частично в шаблонах), а вот отображение - в tpl-шаблонах, а это по-сути html-страницы с вставками упрощенного питоньего кода, который вместо <? ?> у php должен заключаться в <% %> у ботла.

Но шаблоны не обязательно делать, ты можешь html-код выплёвывать и из самого bottle-приложения.

Novator ★★★★★
()
Последнее исправление: Novator (всего исправлений: 1)
Ответ на: комментарий от chenbr0

Вот тебе простое приложение на ботл index.cgi:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os, sys, sqlite3, time
from bottle import default_app, route, run, debug, template, request, static_file, redirect, response, abort, error

app = default_app()

@route('/static/<name>')
def files(name):
  return static_file(name, root='./static')

@route('/')
def root():
  return '<html><body><h1>Hello</h1>World</body></html>'

if __name__ == '__main__':
  app.run(server='cgi')

И пример индексного файла для Apache .htaccess:

<IfModule mod_rewrite.c>
   Options +FollowSymLinks +ExecCGI
   RewriteEngine On
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^(.*)$ ./index.cgi/$1 [QSA,L]
</IfModule>

Не забудь подложить bottle.py в этот же каталог и сайт заработает.
Ссылку на мануал тебе дали выше.

Novator ★★★★★
()
Последнее исправление: Novator (всего исправлений: 2)
Ответ на: комментарий от anonymous

Давно это два месяца? Как быстро летит жизнь вебмакак...

anonymous
()
Ответ на: комментарий от anonymous

Я бы писал его на си на самом деле, если бы кто-нибудь за меня позаботился о безопасности дал мне удобное апи. Но я думаю пользователи не оценят очередной activex.

anonymous
()

фласки и джанги будут излишними

в чём твоя проблема с ними? они для того и нужны, чтобы по быстрому набросать приложение и не париться

eternal_sorrow ★★★★★
()

С каких пор Flask стал излишним? Он ведь и называется - микрофреймворк, потому, что там из коробки минимум.

Или хочется прямо самому, ручками обрабатывать http запросы, парсить тело и заголовки, выставлять сессионные переменные, куки и вообще всё это... ну-ну.

serioja
()

ориентировочно никаких сложных форм там не будет, по сути любой питоновский веб сервер + отображение форм + взаимодействие с пользователем + вывод результата

aiohttp + jinja

vvn_black ★★★★★
()
Ответ на: комментарий от chenbr0

Ага, ещё если запускать через FastCGI, то работать будет быстрее. Вот например скрипт index.fcgi:

#!/usr/bin/env python

import sys, os

from fcgi import WSGIServer
from index.py import app

WSGIServer(app).run()

Но надо ещё fcgi.py подложить в каталог и колдовать с апачем, после чего не факт, что сразу заработает. CGI работает железно на любом самоваре.

Novator ★★★★★
()
Ответ на: комментарий от serioja

С каких пор Flask стал излишним? Он ведь и называется - микрофреймворк

Он только называется «микрофреймворк», но уже давно превратился в неповоротливое говнище с кучей зависимостей.

Если прав на установку пакетов (pip install govno-paketi) на сервере нет, то быстро лососнёшь тунцов с фласком.

Novator ★★★★★
()
Ответ на: комментарий от Novator

И какие альтернативы предлагаешь? Писать без фреймворков?

serioja
()
Ответ на: комментарий от Novator

python -m venv

Если прав на установку пакетов (pip install govno-paketi) на сервере нет, то быстро лососнёшь тунцов с фласком.

Щас бы в 2019 с-под рута пакеты ставить.

anonymous
()

Bootstrap к Django или Flask прикрути и пользуйся, делается это элементарно, в Bootstrap ничего сложного вообще нет, за час можно сверстать простой сайт...

enso ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Есть ещё всякие штуки, которые из питона генерят js. А-ля gwt. pyjs, transcrypt и т.п.

pawnhearts ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Если верить чужим тестам. Я тут как раз несколько фреймворков на свежем Python и Go хотел потестить. Мб стоит тему запилить, скраудсорсить тестовые сценарии, не хочешь поучаствовать?

@pawnhearts

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от serioja

Его почему-то никто не юзает. Мне он внешне нравится, но не было повода попробовать. Кто-то пишет, что он фантастически быстрый, в каких-то тестах он фпнтастически тормозной, кто-то пишет, что юзать его не секурно.

WitcherGeralt ★★
()
Ответ на: комментарий от chenbr0

Ты бы попробовал лучше Vue, всё пилить на бекенде вроде бы и неплохо, но в твоём случае напрашивается SPA.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Он всё равно достаточно быстр(и удобен). В проде его много используют. У опа не было каких-то особенных требований к производительности. Да и все эти тесты hello world`ов довольно оторваны от реальности.

тестовые сценарии

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

pawnhearts ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Я его давно встречал в качестве запускалки джанги, несколько раз причем. Он был довольно популярен на этом поприще, но потом его вытеснили uwsgi, gunicorn, etc.

pawnhearts ★★★★★
()
Ответ на: комментарий от WitcherGeralt

если будешь тестить, не забудь uvloop подключить. встроенная реализаци event loop'a медленная

eternal_sorrow ★★★★★
()

невозможно

браузер не будет выполнять питоновский код

PatrickKilpatrick
()

Для веба тебе в любом случае потребуется бекэнд. На нем будет вся завязана логика. Фронтэнд это просто интерфейс пользователя. Я предлагаю такие варианты:

1. Фронтэнд делаешь при помощи HTML. Без всяких javascript-ов.

2. Берешь Jython и делаешь апплет

3. Берешь IronPython и делаешь Microsoft Silverlight приложение.

dicos ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.