Найти - Пользователи
Полная версия: Ищу инфу в простоении приложения редактора файла через ВЕБ
Начало » Python для экспертов » Ищу инфу в простоении приложения редактора файла через ВЕБ
1 2
mixhapi
Ищу инфу о том чтоб через веб можно отредактировать файл

Берем к примеру отправку запроса <textarea name=“file”> на сервер
на севере получаем данные и знаки crlf

на самом деле на севере должно сохраняться lf
ZerG
aiohttp - вешаем на сервере - он слушает запросы. А дальше парсим и обрабатываем!
mixhapi
1) а с помощью Flask есть ли возможность обработать запросы (так как интересует решение совместно с Flask-API)?
2) в чем различии между Flask и aiohttp?
ZerG
Для вашей задачи не в чем. Однако Flask требует для публикации веб сервер а aiohttp обходится без оного. Ну и до кучи последний имеет более высокий показатель пропускной способности включая асинхронные запросы, пулы и так далее.
mixhapi
Спасибо за разъяснении.

Займусь в изучении aiohttp.
Где в aiohttp можно найти реализованый пример с редактором файла через ВЕБ?
mixhapi
мдаа ещё узнал что aiohttp запускается с помощью python3… для меня это новость… на 2-ке не смог запустить
ZerG
Разве это проблема?
По моему проще поставить рядом еще одну версию питона нежели крутить связку Apache/Nginx + *cgi

В любом случаае выбор за вами
mixhapi
да знаю что проще установить, для debian-а (7/8):
$ sudo apt-get -y install python3

а теперь вопросы:
1) каким образом можно сделать веб-приложение (html шаблон - простой <form method=“post” action=“/post”><textarea name=“file_buffer”></textarea><br><input type=“submit” value=“Сохранить”></form>)
2) имеется ли в открытых источниках доступный показательный пример, имеется в виду, исходный код веб-приложения питона для модуля aiohttp и сохранение запроса в сам файл?
ZerG
Мне все же кажется что вам нужно смотреть в сторону фласк для вашей задачи!
Вам будет проще

Однако можно попробовать и
https://github.com/aio-libs/aiohttp_mako
или
https://github.com/aio-libs/aiohttp_jinja2


Конечно имеется
http://aiohttp.readthedocs.io/en/stable/web.html#template-rendering
mixhapi
Прошлось мне..
dedic:~/src $ ./configure –prefix=/home/dedic –datadir=/home/dedic ; make ; make install
dedic:~/src $ virtualenv /home/dedic
dedic:~/src $ . /home/dedic/bin/activate
(dedic) dedic:~/src $

выбрал веб-приложение для примера по этой ссылке http://aiohttp.readthedocs.io/en/stable/web.html#user-sessions:
import asyncio
import time
from aiohttp import web
from aiohttp_session import get_session, session_middleware
from aiohttp_session.cookie_storage import EncryptedCookieStorage
async def handler(request):
    session = await get_session(request)
    session['last_visit'] = time.time()
    return web.Response(body=b'OK')
async def init(loop):
    app = web.Application(middlewares=[session_middleware(
        EncryptedCookieStorage(b'Sixteen byte key'))])
    app.router.add_route('GET', '/', handler)
    srv = await loop.create_server(
        app.make_handler(), '0.0.0.0', 8080)
    return srv
loop = asyncio.get_event_loop()
loop.run_until_complete(init(loop))
try:
    loop.run_forever()
except KeyboardInterrupt:
    pass

(dedic) dedic:~/src $ pip install aiohttp_session

вываливаются ошибки:
(dedic) dedic:~/aiohttp$ pip install aiohttp_session
Collecting aiohttp_session
/home/dedic/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
SNIMissingWarning
/home/dedic/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Downloading aiohttp_session-0.5.0.tar.gz (91kB)
100% |████████████████████████████████| 92kB 3.1MB/s
Collecting aiohttp>=0.18 (from aiohttp_session)
Using cached aiohttp-0.21.6.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File “<string>”, line 1, in <module>
File “/tmp/pip-build-NqorfJ/dedic/setup.py”, line 61, in <module>
raise RuntimeError(“aiohttp requires Python 3.4.1+”)
RuntimeError: aiohttp requires Python 3.4.1+

—————————————-
Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-NqorfJ/dedic/
(dedic) dedic: ~/dedic$ ./sio.py
Traceback (most recent call last):
File “./sio.py”, line 6, in <module>
from aiohttp_session import get_session, session_middleware
ImportError: No module named ‘aiohttp_session’


Вопрос почему подхватывает python2.7?
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