Ага, ну, допустим. А если start_t, например, 23:30, а end_t 02:05? И зачем у вас вообще эти поля задаются как TimeField, а не DateTimeField? Что в них хранится на самом деле?
Если просто биндить click для, например, span (не добавляя tabindex) — то снова получаем очень хороший пример того, как не нужно делать. Пользовательские интерфейсы публично доступных веб-сайтов разрабатываются для широкой аудитории, а потому должны соответствовать стандартам секции 508 (www.w3.org/WAI/GL/508/508-UAAG.html), а также WCAG (www.w3.org/TR/2008/REC-WCAG20-20081211/). В частности, те операции, которые возможно совершить с помощью мыши, должны по возможности также должны быть доступны с клавиатуры: в частности, должна быть возможность выбирать различные элементы с помощью клавиши Tab, и так далее — это имеет смысл не только с точки зрения обычного удобства, но и для тех пользователей, кто по каким-то причинам не может видеть картинку на экране, и использует screen reader'ы для автоматического чтения с экрана. И в этом случае, соответственно, если клавиша Tab не работает правильно, то они могут вообще не понять, где та часть страницы, которую они ищут.
По моему опыту про образование спрашивают приблизительно в 2 местах из 10, и по странному совпадению это обычно оказываются самые худшие 2 места из 10 (самая низкая зарплата, самые странные и нелогичные условия работы, неудобный график и так далее).
Но из этого правила есть исключение — очень большие компании вроде Google. И ещё один пример — это трудоустройство за границей: вашего потенциального работодателя может совершенно не волновать, заканчивали ли вы школу или университет, но вот само государство может выставлять жёсткие требования к иностранцам, желающим получить рабочую визу.
Собственно, да, вы ведь точно не знаете, откуда сертификат. Например, злоумышленник мог воспользоваться ARP-спуфингом (например, вот тут почитайте). Или есть вероятность, что вы вообще подключились к его точке доступа, которая маскируется под точку доступа кафе.
Ещё один вариант — можно запустить скрипт, который будет менять MAC-адрес машины и просить у DHCP-сервера новый MAC-адрес. Через некоторое время у DHCP-сервера незанятые MAC-адреса закончатся. Что в этом случае происходит? Да ничего, DHCP-сервер просто перестаёт выдавать адреса (он даже не отвечает, что у него нет свободных адресов — он просто игнорирует запрос адреса). А это, соответственно, обозначает, что мы можем запустить у себя другой DHCP-сервер и выдавать вновь подключающимся клиентам что захотим (хоть DNS-серверы подменить, хоть адрес роутера — что угодно). Вот тут об этом написано.
При программировании я использовал git. То есть историю версий ты
можешь посмотреть командой git log (естественно, сначала нужно
установить git), находясь в директории с программой.
Теперь опишу установку (для Ubuntu 10.10).
Скачиваешь файл, распаковываешь его к себе (например, в
домашний каталог).
Переходишь в каталог с программой и делаешь syncdb — при этом надо
будет создать суперпользователя, которого можно использовать для входа
в админку, если она для чего-нибудь понадобится (/admin/).
cd testcreator
python manage.py syncdb
И запускаешь сервер. Вообще, он вполне подходит для обычного
использования, но для использования несколькими людьми и вообще
продакшена настоятельно рекомендую обратить внимание в сторону
gunicorn + nginx.
python manage.py runserver
Всё, программа должна быть доступна по следующему адресу.
Кстати, там используется unobtrusive javascript. То есть если
JavaScript у пользователя по каким-то причинам выключен, и модные
анимированные эффекты динамически меняющихся страниц у него не
отобразить, то программа у него всё равно работает — просто происходит
дополнительный переход по ссылке.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.