Создайте «сайт с одним обслуживанием» с помощью Python - PullRequest
0 голосов
/ 08 августа 2011

Я хочу сделать скрипт Python доступным в качестве службы в сети. Скрипт, который является моей первой «правильной» Python-программой, принимает в качестве аргумента текстовый файл и записывает изображение в рабочий каталог. Итак:

  • Насколько сложно для новичка в Python и веб-разработке?
  • Сколько стоит работа?
  • Нужен ли фреймворк (Django, cherryPy, web2py)?
  • Есть ли хорошие уроки?
  • Как избежать взлома сервера?
  • Каковы мои следующие шаги?

    ==> Какой самый простой способ?

В конце достаточно, если это белая страница, с некоторым текстом и кнопкой, которая при нажатии открывает диалоговое окно файла. После обработки txt сервер должен просто вернуть изображение, которое было записано на жесткий диск. Я уже имею доступ к серверу, на котором Ubuntu установлен через друга.

[обновление]

Спасибо за все ваши ответы. Прочитав их, я хочу еще раз подчеркнуть, что я хочу, чтобы это было как можно меньше. Предложение Срикара звучит как самое простое:

Поместите его в исполняемый каталог вашей ОС (обычно известный как CGI). дорожка). Предоставьте простую форму HTML и после отправки формы нажмите эту скрипт, который выполняет и возвращает изображение, которое вы хотите отобразить.

Есть возражения или комментарии? Вы знаете какие-нибудь учебники для этого?

[udpate2]

Я нашел этот SO-ответ: Сайт для обмена файлами в Python Это разумный подход?

Ответы [ 4 ]

1 голос
/ 08 августа 2011
  1. Это не так уж сложно.На самом деле, это звучит как хороший первый проект.
  2. Это слишком субъективно, чтобы отвечать.От часа до дня.
  3. Нет, он тебе не нужен, но я бы использовал его на твоем месте.Они отвлекают некоторые вещи, которые вас действительно не волнуют, и вы выучите инструмент, который сможете использовать снова в будущем.
  4. Много.Если вы хотите получить краткое изложение того, как Python работает в Интернете, прочитайте HOWTO от Python.org .Если вы просто хотите научиться делать этот проект, выберите фреймворк и изучите его.
  5. Этот вопрос настолько широк и сложен, что я не собираюсь на него отвечать.Поищите подобные вопросы на этом сайте или в Google.
  6. Ваш следующий шаг должен состоять в выборе фреймворка;Я успешно использовал Django .Просто скачайте его, следуйте инструкциям по установке и изучите их руководство;он должен рассказать вам все, что вам нужно знать, чтобы делать то, что вы хотите.Если у вас остались вопросы после того, как вы узнали, как выполнять основы, вернитесь и спросите снова!

Редактировать: Ответ на этот другой вопрос, безусловно, будет работать для вас.Там они просто получают запрос GET и отвечают данными из файла Python.Вам нужно получить GET-запрос, ответить HTML-страницей (достаточно просто), затем ответить на POST-запрос, который включает в себя загруженный файл (немного более сложный) и запустить подпрограмму Python для загруженного файла, а затем ответить созданным изображением.(или ссылка на него).

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

0 голосов
/ 12 августа 2011

В конце концов, я создал то, что мне было нужно, с помощью Flask .

У них есть хорошо документированный шаблон / учебник по Загрузка файлов .Учебное пособие понятно даже для людей с небольшим опытом работы с Python.

Чтобы получить первую рабочую версию, мне потребовалось 2 часа, а полученный код - всего 50 строк.Это включает в себя, запуск веб-сервера, наличие html-файла / формы с загрузкой файла и отправку файла обратно пользователю.

0 голосов
/ 08 августа 2011

Если все так же просто, как вы это описали. Тогда вам может даже не понадобиться Django. Вы можете просто использовать CGI сценарий. Все эти дизайнерские решения зависят от того,

  1. Вам нужно (или предусмотреть) хранилище SQL?
  2. или система управления контентом?
  3. Вам понадобится многопользовательская поддержка?
  4. Вам нужна строгая охрана?
  5. Вам нужны разные привилегии для разных пользователей?
  6. Вам нужен Admin для управления сайтом?

Если ответ на поставленные выше вопросы по меньшей мере на 60% правильный, вы можете рассмотреть Django. в противном случае просто напишите скрипт на python. Поместите его в исполняемый каталог вашей ОС (обычно известный как путь CGI). Предоставьте простую HTML-форму и после отправки формы нажмите этот скрипт, который выполняет и возвращает изображение, которое вы хотите отобразить. Итак, все зависит от необходимых вам функций ...

0 голосов
/ 08 августа 2011
  • Насколько сложно для новичка в Python и веб-разработке?

    Зависит от вашего уровня знаний.

  • Какмного работы?

    Зависит от того, какой метод вы выберете для решения проблемы.

  • Нужна ли мне среда (Django, cherryPy, web2py)?

    Не обязательно - вы могли бы начать использовать CGI (http://docs.python.org/library/cgi.html)

  • Есть ли хорошие учебники?

    Да, есть много. Документы Python - отличное место для начала.

  • Как избежать компрометации сервера?

    Опять же, зависит от метода, который вы выбрали для решения проблемы, хотя есть общие черты.

  • Каковы мои дальнейшие шаги?

    Смею ли я сказать это снова, выбрать метод, прочитать документы, сыграть!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...