Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 10.08.2012
Сообщений: 21

Создание простого web-приложения (задача с каких-то курсов)

05.02.2015, 15:08. Показов 2706. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, товарищи форумчане!

Решил я понемногу осваивать web на python'e и нашел подходящую задачу:

-----
Необходимо разработать приложение, упрощенное рабочее место фармацевта, выписывающего рецепты на очки и линзы. Операции, которые необходимо проводить, описаны ниже.

Пользователем приложения является только фармацевт.
Фармацевт обслуживает два типа клиентов: новых и тех, кто заказывал очки и линзы ранее.
При приходе к фармацевту клиент указывает свою имя и фамилию и фармацевт должен проверить существует ли такой пользователь в базе клиентов.
В случае, если пользователь существует, фармацевту нужно иметь возможность открыть карточку с его данными (описаны ниже).

В карточке кроме персональных данных клиента должен быть список его визитов в аптеку со следующей информацией:
- Visit Date
- Order Amount (USD 0 – 10,000)
- Order Status (Completed / In Progress / Cancelled)
Список визитов можно редактировать: добавлять/изменять/удалять.

В случае, если пользователя не существует, либо он говорит, что ни разу не был клиентом, необходима возможность создать ему карточку клиента со следующими данными:
- First Name
- Last Name
- Date of Birth
- Address
- Phone
- Email
- Left Eye (number -10 - +10)
- Right Eye (number -10 - +10)

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

-----
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2015, 15:08
Ответы с готовыми решениями:

Help me найти исходный код простого web приложения на Java
В общем, мне скоро нужно сдать лабораторную работу по Java. Через неделю. Мы только начали ее изучать, поэтому уровень сложности не очень...

Создание простого приложения в Qt
Всем доброго времени суток. У меня такая проблема, я решил научится програмированию в Qt скачал, устоновил просмотрел пару уроков, почитал...

Создание простого MDI приложения
здравствуйте!Вопрос по C#. Никак не могу сделать простое MDI приложение. Есть две формы: Form1 и Form2. Ставлю свойство для Form1...

6
23 / 23 / 16
Регистрация: 17.01.2014
Сообщений: 81
05.02.2015, 15:13
Решили задачей поделиться?
0
0 / 0 / 0
Регистрация: 10.08.2012
Сообщений: 21
05.02.2015, 15:21  [ТС]
Погуглив, я понял (не знаю правильно-ли), что:
а) Можно использовать какой-либо фреймворк
б) Писать CGI-скрипт

Я остановился на втором варианте.

С Linux я не знаком, поэтому делаю под Windows.

1) Для начала я нашел инструкцию по запуску простого сервера (чтобы не устанавливать лишнее):
Python
1
2
3
4
5
6
7
8
9
10
11
import os
import sys
from http.server import HTTPServer, CGIHTTPRequestHandler
 
webdir = '.'    # место, где находятся файлы html и подкаталог cgi-bin
port = 8000     # [url]http://localhost:xxxx/[/url]
 
os.chdir(webdir)            # перейти в корневой каталог HTML
srvraddr = ("", port)       # имя хоста и номер порта
srvrobj = HTTPServer(srvraddr, CGIHTTPRequestHandler)
srvrobj.serve_forever()   # запустить как бесконечный фоновый процесс
Добавлено через 1 минуту
TroSer,
Скорее, просить помощи в решении первых вопросов.
0
0 / 0 / 0
Регистрация: 10.08.2012
Сообщений: 21
05.02.2015, 15:31  [ТС]
2) Далее первая HTML страничка с формами:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<title>Start Page</title>
<body>
<form method=GET action="cgi-bin/cgi.py">
    <table>
        <tr>
            <td>First name:
            <td><input type=text name=firstname>
        </tr>
        <tr>
            <td>Last name:
            <td><input type=text name=lastname>
        </tr>
    </table>
    <p>
    <input type=submit value=Send>
</form>
</body>
</html>
Визуализация форм:
Изображения
 
0
0 / 0 / 0
Регистрация: 10.08.2012
Сообщений: 21
05.02.2015, 15:38  [ТС]
3) Затем сам скрипт (точнее, лишь его малая часть для отладки):
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python
import cgi
form = cgi.FieldStorage()       # парсинг данных формы
a = form['firstname'].value
b = form['lastname'].value
 
print('Content type: text/html\n')  # http-заголовок плюс пустая строка
print('<title>Riply page</title>')  # html-разметка ответа
 
if 'firstname' != None and 'lastname' != None:
    print('<h1>Hello %s %s!</h1>' % cgi.escape(a, b))
else:
    print('<h1>Who are you?</h1>')
И вот здесь, так сказать в самом начале пути, я не могу извлечь данные из форм...
Получаю вот такую штуку:
a = form['firstname'].value
File "C:\Python34\lib\cgi.py", line 598, in __getitem__
raise KeyError(key)
KeyError: 'firstname'


Добавлено через 51 секунду
Подскажите, пожалуйста, что не так?!
0
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
05.02.2015, 16:57
Как очевидно из строки ошибки, говорит, что таких ключей у формы нет. Сразу кидаю пример из офф. доки:
Python
1
2
3
4
5
6
form = cgi.FieldStorage()
if "name" not in form or "addr" not in form:
    print("<H1>Error</H1>")
    print("Please fill in the name and addr fields.")
print("<p>name:", form["name"].value)
print("<p>addr:", form["addr"].value)
Теперь подробнее. Перед тем, как извлечь значение какого-либо элемента неплохо бы убедиться, что элемент присутствует. Насколько я помню, если элемент формы ничем не заполнен, в запросе по onSubmit() он может и не отправиться, тогда ключа с таким именем не будет в FieldStorage(), на что вам питон и ругается.
0
26 / 26 / 6
Регистрация: 19.10.2012
Сообщений: 131
06.02.2015, 01:45
Цитата Сообщение от Prosto Denis Посмотреть сообщение
а) Можно использовать какой-либо фреймворк
Самым эффективным вариантом, так как cgi для python не самый лучший, будет использовать uWSGI и заодно, если необходимо что-то простое - flask, bottle, pyramid. По первому фреймворку очень много информации уже.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2015, 01:45
Помогаю со студенческими работами здесь

Создание простого оконного приложения
Создать проект на языке Object Pascal, используя стандартные объекты Delphi для вычисления функции: Функцию я вложила в виде...

Создание простого приложения. Что нужно знать?
Задача формулируется следующим образом: Изобразить на єкране лабиринт. По нему перемещается &quot;нечто&quot;. Перемещение управляется...

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

Создание простого консольного ООП-приложения любой тематики
Всем привет, нужна помощь в создании простого консольного приложения. Вот несколько условий: 1. Использовать возможности ООП: классы,...

Нужны исходники простого простого приложения под Android для примера
можете дать ссылку на приложение под андроид?не Hello Word а какое нибудь другое но тоже простое на подобие этого ?хочу понять как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru