-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFogstreamPythonDjango1.html
1 lines (1 loc) · 13.8 KB
/
FogstreamPythonDjango1.html
1
<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><style type="text/css">ol.lst-kix_ckj10m77078r-1.start{counter-reset:lst-ctn-kix_ckj10m77078r-1 0}.lst-kix_o3408howje7k-2>li:before{content:"\0025a0 "}.lst-kix_o3408howje7k-3>li:before{content:"\0025cf "}.lst-kix_o3408howje7k-4>li:before{content:"\0025cb "}.lst-kix_ckj10m77078r-8>li{counter-increment:lst-ctn-kix_ckj10m77078r-8}.lst-kix_o3408howje7k-0>li:before{content:"\0025cf "}ol.lst-kix_ckj10m77078r-8.start{counter-reset:lst-ctn-kix_ckj10m77078r-8 0}.lst-kix_o3408howje7k-1>li:before{content:"\0025cb "}.lst-kix_ckj10m77078r-2>li{counter-increment:lst-ctn-kix_ckj10m77078r-2}ol.lst-kix_ckj10m77078r-4.start{counter-reset:lst-ctn-kix_ckj10m77078r-4 0}.lst-kix_ckj10m77078r-1>li{counter-increment:lst-ctn-kix_ckj10m77078r-1}ul.lst-kix_o3408howje7k-7{list-style-type:none}ul.lst-kix_o3408howje7k-6{list-style-type:none}ul.lst-kix_o3408howje7k-8{list-style-type:none}ul.lst-kix_o3408howje7k-3{list-style-type:none}ul.lst-kix_o3408howje7k-2{list-style-type:none}ul.lst-kix_o3408howje7k-5{list-style-type:none}ul.lst-kix_o3408howje7k-4{list-style-type:none}ul.lst-kix_o3408howje7k-1{list-style-type:none}ul.lst-kix_o3408howje7k-0{list-style-type:none}ol.lst-kix_ckj10m77078r-5.start{counter-reset:lst-ctn-kix_ckj10m77078r-5 0}.lst-kix_ckj10m77078r-0>li{counter-increment:lst-ctn-kix_ckj10m77078r-0}.lst-kix_ckj10m77078r-3>li:before{content:"(" counter(lst-ctn-kix_ckj10m77078r-3,decimal) ") "}.lst-kix_ckj10m77078r-4>li:before{content:"(" counter(lst-ctn-kix_ckj10m77078r-4,lower-latin) ") "}.lst-kix_ckj10m77078r-3>li{counter-increment:lst-ctn-kix_ckj10m77078r-3}.lst-kix_ckj10m77078r-5>li:before{content:"(" counter(lst-ctn-kix_ckj10m77078r-5,lower-roman) ") "}.lst-kix_ckj10m77078r-7>li:before{content:"" counter(lst-ctn-kix_ckj10m77078r-7,lower-latin) ". "}.lst-kix_ckj10m77078r-6>li:before{content:"" counter(lst-ctn-kix_ckj10m77078r-6,decimal) ". "}.lst-kix_ckj10m77078r-8>li:before{content:"" counter(lst-ctn-kix_ckj10m77078r-8,lower-roman) ". "}.lst-kix_ckj10m77078r-6>li{counter-increment:lst-ctn-kix_ckj10m77078r-6}.lst-kix_ckj10m77078r-5>li{counter-increment:lst-ctn-kix_ckj10m77078r-5}.lst-kix_ckj10m77078r-2>li:before{content:"" counter(lst-ctn-kix_ckj10m77078r-2,lower-roman) ") "}.lst-kix_ckj10m77078r-1>li:before{content:"" counter(lst-ctn-kix_ckj10m77078r-1,lower-latin) ") "}.lst-kix_ckj10m77078r-0>li:before{content:"" counter(lst-ctn-kix_ckj10m77078r-0,decimal) ") "}ol.lst-kix_ckj10m77078r-2.start{counter-reset:lst-ctn-kix_ckj10m77078r-2 0}ol.lst-kix_ckj10m77078r-7.start{counter-reset:lst-ctn-kix_ckj10m77078r-7 0}ol.lst-kix_ckj10m77078r-0{list-style-type:none}ol.lst-kix_ckj10m77078r-1{list-style-type:none}.lst-kix_ckj10m77078r-4>li{counter-increment:lst-ctn-kix_ckj10m77078r-4}ol.lst-kix_ckj10m77078r-8{list-style-type:none}ol.lst-kix_ckj10m77078r-0.start{counter-reset:lst-ctn-kix_ckj10m77078r-0 0}ol.lst-kix_ckj10m77078r-6{list-style-type:none}ol.lst-kix_ckj10m77078r-7{list-style-type:none}.lst-kix_ckj10m77078r-7>li{counter-increment:lst-ctn-kix_ckj10m77078r-7}ol.lst-kix_ckj10m77078r-4{list-style-type:none}ol.lst-kix_ckj10m77078r-5{list-style-type:none}ol.lst-kix_ckj10m77078r-2{list-style-type:none}ol.lst-kix_ckj10m77078r-3{list-style-type:none}.lst-kix_o3408howje7k-8>li:before{content:"\0025a0 "}ol.lst-kix_ckj10m77078r-6.start{counter-reset:lst-ctn-kix_ckj10m77078r-6 0}.lst-kix_o3408howje7k-6>li:before{content:"\0025cf "}.lst-kix_o3408howje7k-7>li:before{content:"\0025cb "}ol.lst-kix_ckj10m77078r-3.start{counter-reset:lst-ctn-kix_ckj10m77078r-3 0}.lst-kix_o3408howje7k-5>li:before{content:"\0025a0 "}ol{margin:0;padding:0}table td,table th{padding:0}.c2{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.c0{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:14pt;font-family:"Arial";font-style:normal}.c9{padding-top:16pt;padding-bottom:4pt;line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.c4{color:#000000;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.c1{color:#434343;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:14pt;font-family:"Arial";font-style:normal}.c7{padding-top:22pt;padding-bottom:22pt;line-height:1.15;orphans:2;widows:2;text-align:left}.c3{padding-top:0pt;padding-bottom:0pt;line-height:1.15;orphans:2;widows:2;text-align:left}.c5{background-color:#ffffff;max-width:451.4pt;padding:72pt 72pt 72pt 72pt}.c10{margin-left:36pt;padding-left:0pt}.c8{padding:0;margin:0}.c11{height:14pt}.c6{height:11pt}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left}</style></head><body class="c5"><h3 class="c9" id="h.mz7byjjxckja"><span class="c1">Часть 1, разработка сайта</span></h3><p class="c3"><span class="c2">Написать сайт, где пользователь может оставить сообщение сотруднику, созданному в системе.</span></p><p class="c3"><span class="c2">Пользователь может зарегистрироваться и авторизоваться в системе. После авторизации ему становится доступна форма отправки сообщения администратору.</span></p><p class="c3"><span class="c2">Сообщение отправляется администратору на email. После отправки (успешной или нет) в административной панели создается запись об отправке, с соответствующим статусом.</span></p><p class="c3"><span class="c2">Все формы (авторизация, регистрация, отправка сообщения администратору) должны использовать асинхронные запросы на валидацию и отправку данных.</span></p><p class="c3"><span class="c2">Административная панель встроена в Django. </span></p><p class="c3"><span class="c2">С дизайном и версткой заморачиваться не нужно. </span></p><p class="c3 c6"><span class="c2"></span></p><p class="c3"><span class="c4">Инструментарий:</span></p><ul class="c8 lst-kix_o3408howje7k-0 start"><li class="c3 c10"><span class="c2">Python 3.6, Django</span></li><li class="c3 c10"><span class="c2">Покрытие тестами (unittest или pytest)</span></li><li class="c3 c10"><span class="c2">SQLite/PostgreSQL</span></li><li class="c3 c10"><span class="c2">Код выложить на github</span></li></ul><p class="c7"><span style="overflow: hidden; display: inline-block; margin: 0.00px 0.00px; border: 0.00px solid #000000; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px); width: 601.70px; height: 288.00px;"><img alt="fetch>UID>|&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1->1328" src="images/image2.png" style="width: 601.70px; height: 288.00px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);" title=""></span></p><p class="c6 c7"><span class="c0"></span></p><hr style="page-break-before:always;display:none;"><h3 class="c9 c11" id="h.l9b315z4wk6x"><span class="c1"></span></h3><h3 class="c9" id="h.ya7v1a3dll6h"><span class="c1">Часть 2, оптимизация БД</span></h3><p class="c3"><span class="c2">Необходимо оптимизировать базу данных. </span></p><p class="c3"><span class="c2">Нарисуйте таблицы и связи которые получается после обработки картинки ниже.</span></p><p class="c3 c6"><span class="c0"></span></p><p class="c3"><span style="overflow: hidden; display: inline-block; margin: 0.00px 0.00px; border: 0.00px solid #000000; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px); width: 614.59px; height: 510.50px;"><img alt="Selection_034.png" src="images/image1.png" style="width: 614.59px; height: 510.50px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);" title=""></span></p><p class="c3"><span class="c2">Результат сохраните в репозитории с первым заданием в формате изображения. </span></p><p class="c3"><span class="c2">Название файла: best_data_base.jpg/png/gif</span></p></body></html>