From 37d30ee29f3b3b59c113546a6208d054c7d70093 Mon Sep 17 00:00:00 2001
From: Egor Deev
Date: Fri, 2 Oct 2026 21:18:33 +0000
Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA:=20?=
=?UTF-8?q?=D0=B4=D1=83=D0=B1=D0=BB=D1=8C=20=D1=83=D0=B4=D0=B0=D0=BB=D1=91?=
=?UTF-8?q?=D0=BD,=20=D0=BF=D0=B0=D0=BF=D0=BA=D0=B8=20=D0=BD=D0=B0=D0=B7?=
=?UTF-8?q?=D0=B2=D0=B0=D0=BD=D1=8B=20=D0=BF=D0=BE=20=D1=81=D0=BE=D0=B4?=
=?UTF-8?q?=D0=B5=D1=80=D0=B6=D0=B0=D0=BD=D0=B8=D1=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
«WEB. HTML 2» повторял «WEB. HTML flask-wtf» (отличались только два маршрута) — оставлена
более поздняя версия. Папки: 01-flask-html, 02-flask-wtf-forms, 03-yandex-maps-search.
Переводы строк приведены к LF.
---
.gitattributes | 3 +
{WEB. HTML => 01-flask-html}/server.py | 546 +++++++++---------
.../static/css/style.css | 106 ++--
{WEB. HTML => 01-flask-html}/static/img/1.png | Bin
{WEB. HTML => 01-flask-html}/static/img/2.png | Bin
{WEB. HTML => 01-flask-html}/static/img/3.png | Bin
.../static/img/img.png | Bin
.../static/img/planet.jpg | Bin
.../news.json | 30 +-
.../static/css/style.css | 12 +-
.../static/img/kb1.jpg | Bin
.../static/img/kb2.jpg | Bin
.../static/img/mars_ico.png | Bin
.../templates/auto_answer.html | 28 +-
.../templates/base.html | 62 +-
.../templates/base_two.html | 18 +-
.../templates/distribution.html | 14 +-
.../templates/index.html | 8 +-
.../templates/list_prof.html | 52 +-
.../templates/login.html | 88 +--
.../templates/training.html | 32 +-
.../delta.py | 40 +-
WEB. HTML 2/loginform.py | 14 -
WEB. HTML 2/server.py | 53 --
WEB. HTML 2/static/css/style.css | 7 -
WEB. HTML 2/templates/auto_answer.html | 15 -
WEB. HTML 2/templates/base.html | 32 -
WEB. HTML 2/templates/login.html | 45 --
WEB. HTML 2/templates/training.html | 17 -
WEB. HTML flask-wtf/loginform.py | 14 -
WEB. HTML flask-wtf/server.py | 53 --
WEB. HTML flask-wtf/static/img/kb1.jpg | Bin 274283 -> 0 bytes
WEB. HTML flask-wtf/static/img/kb2.jpg | Bin 273854 -> 0 bytes
WEB. HTML flask-wtf/static/img/mars_ico.png | Bin 16320 -> 0 bytes
WEB. HTML flask-wtf/templates/base_two.html | 10 -
.../templates/distribution.html | 8 -
WEB. HTML flask-wtf/templates/index.html | 5 -
WEB. HTML flask-wtf/templates/list_prof.html | 27 -
Полный поиск/main.py | 45 --
39 files changed, 521 insertions(+), 863 deletions(-)
create mode 100644 .gitattributes
rename {WEB. HTML => 01-flask-html}/server.py (98%)
rename {WEB. HTML => 01-flask-html}/static/css/style.css (93%)
rename {WEB. HTML => 01-flask-html}/static/img/1.png (100%)
rename {WEB. HTML => 01-flask-html}/static/img/2.png (100%)
rename {WEB. HTML => 01-flask-html}/static/img/3.png (100%)
rename {WEB. HTML => 01-flask-html}/static/img/img.png (100%)
rename {WEB. HTML => 01-flask-html}/static/img/planet.jpg (100%)
rename {WEB. HTML flask-wtf => 02-flask-wtf-forms}/news.json (96%)
rename {WEB. HTML flask-wtf => 02-flask-wtf-forms}/static/css/style.css (91%)
rename {WEB. HTML 2 => 02-flask-wtf-forms}/static/img/kb1.jpg (100%)
rename {WEB. HTML 2 => 02-flask-wtf-forms}/static/img/kb2.jpg (100%)
rename {WEB. HTML 2 => 02-flask-wtf-forms}/static/img/mars_ico.png (100%)
rename {WEB. HTML flask-wtf => 02-flask-wtf-forms}/templates/auto_answer.html (96%)
rename {WEB. HTML flask-wtf => 02-flask-wtf-forms}/templates/base.html (96%)
rename {WEB. HTML 2 => 02-flask-wtf-forms}/templates/base_two.html (92%)
rename {WEB. HTML 2 => 02-flask-wtf-forms}/templates/distribution.html (93%)
rename {WEB. HTML 2 => 02-flask-wtf-forms}/templates/index.html (79%)
rename {WEB. HTML 2 => 02-flask-wtf-forms}/templates/list_prof.html (96%)
rename {WEB. HTML flask-wtf => 02-flask-wtf-forms}/templates/login.html (96%)
rename {WEB. HTML flask-wtf => 02-flask-wtf-forms}/templates/training.html (97%)
rename {Полный поиск => 03-yandex-maps-search}/delta.py (89%)
delete mode 100644 WEB. HTML 2/loginform.py
delete mode 100644 WEB. HTML 2/server.py
delete mode 100644 WEB. HTML 2/static/css/style.css
delete mode 100644 WEB. HTML 2/templates/auto_answer.html
delete mode 100644 WEB. HTML 2/templates/base.html
delete mode 100644 WEB. HTML 2/templates/login.html
delete mode 100644 WEB. HTML 2/templates/training.html
delete mode 100644 WEB. HTML flask-wtf/loginform.py
delete mode 100644 WEB. HTML flask-wtf/server.py
delete mode 100644 WEB. HTML flask-wtf/static/img/kb1.jpg
delete mode 100644 WEB. HTML flask-wtf/static/img/kb2.jpg
delete mode 100644 WEB. HTML flask-wtf/static/img/mars_ico.png
delete mode 100644 WEB. HTML flask-wtf/templates/base_two.html
delete mode 100644 WEB. HTML flask-wtf/templates/distribution.html
delete mode 100644 WEB. HTML flask-wtf/templates/index.html
delete mode 100644 WEB. HTML flask-wtf/templates/list_prof.html
delete mode 100644 Полный поиск/main.py
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..46526f6
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+* text=auto eol=lf
+*.png binary
+*.jpg binary
diff --git a/WEB. HTML/server.py b/01-flask-html/server.py
similarity index 98%
rename from WEB. HTML/server.py
rename to 01-flask-html/server.py
index fcf34db..72e7beb 100644
--- a/WEB. HTML/server.py
+++ b/01-flask-html/server.py
@@ -1,273 +1,273 @@
-from flask import Flask, url_for, request
-
-app = Flask(__name__)
-
-
-@app.route('/')
-def index():
- return "Миссия Колонизация Марса"
-
-
-@app.route('/index')
-def gimn():
- return 'И на Марсе будут яблони цвести!'
-
-
-@app.route('/promotion')
-def promo():
- return ''.join(['Человечество вырастает из детства.',
- 'Человечеству мала одна планета.',
- 'Мы сделаем обитаемыми безжизненные пока планеты.',
- 'И начнем с Марса!', 'Присоединяйся!'])
-
-
-@app.route('/image_mars')
-def img():
- return f"""
-
-
-
- Привет, Марс!
-
-
- Жди нас, Марс!
-
- Вот она какая, красная планета.
-
- """
-
-
-@app.route('/promotion_image')
-def promo_img():
- return f"""
-
-
-
-
- Колонизация
-
-
- Жди нас, Марс!
-
- Человечество вырастает из детства.
- Человечеству мала одна планета.
- Мы сделаем обитаемыми безжизненные пока планеты.
- И начнем с Марса!
- Присоединяйся!
-
- """
-
-
-@app.route('/astronaut_selection', methods=['POST', 'GET'])
-def form_sample():
- if request.method == 'GET':
- return f'''
-
-
-
-
-
-
- Отбор астронавтов
-
-
- Анкета претендента
- на участие в миссии
-
-
- '''
- elif request.method == 'POST':
- print("Фамилия -", request.form.get('text1'))
- print("Имя -", request.form.get('text2'))
- print("Почта -", request.form.get('email'))
- print("Образование -", request.form.get('class'))
- prof = []
- typis = {'accept1': "Инженер-исследователь", 'accept2': "Инженер-строитель", 'accept3': "Пилот",
- 'accept4': "Метеоролог", 'accept5': 'Инженер по жизнеобеспечению',
- 'accept6': 'Инженер по радиационной защите', 'accept7': "Врач", 'accept8': "Экзобиолог"}
- for i in typis:
- a = request.form.get(i)
- if a:
- prof.append(typis[i])
- print("Профкссия(-и):", ", ".join(prof))
- print("Пол -", request.form.get('sex'))
- print("Причины участия -", request.form.get('about'))
- print("Фото -", request.form.get('file'))
- if request.form.get('accept'):
- print("Подписан на программу")
- else:
- print("Отказался от программы")
- return "Форма отправлена"
-
-
-@app.route('/choice/')
-def choice(planet_name):
- return f"""
-
-
-
-
- Колонизация
-
-
- Моё предложение: {planet_name}
- Эта планета близка к Земле;
- На ней много необходимых ресурсов;
- На ней есть вода и атмосфера;
- На ней есть небольшое магнитное поле;
- Наконец, она просто красива!
-
- """
-
-
-@app.route('/results///')
-def result(nickname, level, rating):
- return f"""
-
-
-
-
- Колонизация
-
-
- Результаты отбора
- Претендента на участие в миссии {nickname}:
- Поздравляем! Ваш рейтинг после {level} этапа отбора
- составляет {rating}!
- Желаем удачи!
-
- """
-
-
-@app.route('/load_photo', methods=['POST', 'GET'])
-def photo():
- if request.method == 'GET':
- return f'''
-
-
-
-
-
-
- Отбор астронавтов
-
-
- Загрузка фотографии
- для участия в миссии
-
-
-
- Приложите фотографию
-
-
-
- Отправить
-
-
-
- '''
- elif request.method == 'POST':
- f = request.files['file']
- if f:
- with open("static/img/img.png", "wb") as file:
- file.write(f.read())
- return f'''
-
-
-
-
-
-
- Отбор астронавтов
-
-
- Загрузка фотографии
- для участия в миссии
-
-
-
- Приложите фотографию
-
-
-
- Отправить
-
-
-
- '''
-
-
-if __name__ == '__main__':
- app.run(port=8080, host='127.0.0.1')
+from flask import Flask, url_for, request
+
+app = Flask(__name__)
+
+
+@app.route('/')
+def index():
+ return "Миссия Колонизация Марса"
+
+
+@app.route('/index')
+def gimn():
+ return 'И на Марсе будут яблони цвести!'
+
+
+@app.route('/promotion')
+def promo():
+ return ''.join(['Человечество вырастает из детства.',
+ 'Человечеству мала одна планета.',
+ 'Мы сделаем обитаемыми безжизненные пока планеты.',
+ 'И начнем с Марса!', 'Присоединяйся!'])
+
+
+@app.route('/image_mars')
+def img():
+ return f"""
+
+
+
+ Привет, Марс!
+
+
+ Жди нас, Марс!
+
+ Вот она какая, красная планета.
+
+ """
+
+
+@app.route('/promotion_image')
+def promo_img():
+ return f"""
+
+
+
+
+ Колонизация
+
+
+ Жди нас, Марс!
+
+ Человечество вырастает из детства.
+ Человечеству мала одна планета.
+ Мы сделаем обитаемыми безжизненные пока планеты.
+ И начнем с Марса!
+ Присоединяйся!
+
+ """
+
+
+@app.route('/astronaut_selection', methods=['POST', 'GET'])
+def form_sample():
+ if request.method == 'GET':
+ return f'''
+
+
+
+
+
+
+ Отбор астронавтов
+
+
+ Анкета претендента
+ на участие в миссии
+
+
+ '''
+ elif request.method == 'POST':
+ print("Фамилия -", request.form.get('text1'))
+ print("Имя -", request.form.get('text2'))
+ print("Почта -", request.form.get('email'))
+ print("Образование -", request.form.get('class'))
+ prof = []
+ typis = {'accept1': "Инженер-исследователь", 'accept2': "Инженер-строитель", 'accept3': "Пилот",
+ 'accept4': "Метеоролог", 'accept5': 'Инженер по жизнеобеспечению',
+ 'accept6': 'Инженер по радиационной защите', 'accept7': "Врач", 'accept8': "Экзобиолог"}
+ for i in typis:
+ a = request.form.get(i)
+ if a:
+ prof.append(typis[i])
+ print("Профкссия(-и):", ", ".join(prof))
+ print("Пол -", request.form.get('sex'))
+ print("Причины участия -", request.form.get('about'))
+ print("Фото -", request.form.get('file'))
+ if request.form.get('accept'):
+ print("Подписан на программу")
+ else:
+ print("Отказался от программы")
+ return "Форма отправлена"
+
+
+@app.route('/choice/')
+def choice(planet_name):
+ return f"""
+
+
+
+
+ Колонизация
+
+
+ Моё предложение: {planet_name}
+ Эта планета близка к Земле;
+ На ней много необходимых ресурсов;
+ На ней есть вода и атмосфера;
+ На ней есть небольшое магнитное поле;
+ Наконец, она просто красива!
+
+ """
+
+
+@app.route('/results///')
+def result(nickname, level, rating):
+ return f"""
+
+
+
+
+ Колонизация
+
+
+ Результаты отбора
+ Претендента на участие в миссии {nickname}:
+ Поздравляем! Ваш рейтинг после {level} этапа отбора
+ составляет {rating}!
+ Желаем удачи!
+
+ """
+
+
+@app.route('/load_photo', methods=['POST', 'GET'])
+def photo():
+ if request.method == 'GET':
+ return f'''
+
+
+
+
+
+
+ Отбор астронавтов
+
+
+ Загрузка фотографии
+ для участия в миссии
+
+
+
+ Приложите фотографию
+
+
+
+ Отправить
+
+
+
+ '''
+ elif request.method == 'POST':
+ f = request.files['file']
+ if f:
+ with open("static/img/img.png", "wb") as file:
+ file.write(f.read())
+ return f'''
+
+
+
+
+
+
+ Отбор астронавтов
+
+
+ Загрузка фотографии
+ для участия в миссии
+
+
+
+ Приложите фотографию
+
+
+
+ Отправить
+
+
+
+ '''
+
+
+if __name__ == '__main__':
+ app.run(port=8080, host='127.0.0.1')
diff --git a/WEB. HTML/static/css/style.css b/01-flask-html/static/css/style.css
similarity index 93%
rename from WEB. HTML/static/css/style.css
rename to 01-flask-html/static/css/style.css
index fa8c8d5..a040562 100644
--- a/WEB. HTML/static/css/style.css
+++ b/01-flask-html/static/css/style.css
@@ -1,54 +1,54 @@
-h1.red {
- color: #d22e3a;
-}
-
-h1.font {
- font-size: 36px;
-}
-
-img.width {
- width: 430px;
-}
-
-form.login_form {
- margin-left: auto;
- margin-right: auto;
- max-width: 450px;
- background-color: #ffdcbb;
- border: 1px solid gray;
- border-radius: 5px;
- padding: 10px;
-}
-
-div.font {
- font-size: 20px;
- width: 600px;
- height: 40px;
- text-align: left;
- line-height: 50px;
-}
-
-div.red {
- color: #6b1c29;
- background-color: #f7d7dc;
-}
-
-div.black {
- color: #000000;
- background-color: #d6d9d9;
-}
-
-div.green {
- color: #185921;
- background-color: #d3eedc;
-}
-
-div.gray {
- color: #393c42;
- background-color: #e1e3e4;
-}
-
-div.yellow {
- color: #845900;
- background-color: #fff3ce;
+h1.red {
+ color: #d22e3a;
+}
+
+h1.font {
+ font-size: 36px;
+}
+
+img.width {
+ width: 430px;
+}
+
+form.login_form {
+ margin-left: auto;
+ margin-right: auto;
+ max-width: 450px;
+ background-color: #ffdcbb;
+ border: 1px solid gray;
+ border-radius: 5px;
+ padding: 10px;
+}
+
+div.font {
+ font-size: 20px;
+ width: 600px;
+ height: 40px;
+ text-align: left;
+ line-height: 50px;
+}
+
+div.red {
+ color: #6b1c29;
+ background-color: #f7d7dc;
+}
+
+div.black {
+ color: #000000;
+ background-color: #d6d9d9;
+}
+
+div.green {
+ color: #185921;
+ background-color: #d3eedc;
+}
+
+div.gray {
+ color: #393c42;
+ background-color: #e1e3e4;
+}
+
+div.yellow {
+ color: #845900;
+ background-color: #fff3ce;
}
\ No newline at end of file
diff --git a/WEB. HTML/static/img/1.png b/01-flask-html/static/img/1.png
similarity index 100%
rename from WEB. HTML/static/img/1.png
rename to 01-flask-html/static/img/1.png
diff --git a/WEB. HTML/static/img/2.png b/01-flask-html/static/img/2.png
similarity index 100%
rename from WEB. HTML/static/img/2.png
rename to 01-flask-html/static/img/2.png
diff --git a/WEB. HTML/static/img/3.png b/01-flask-html/static/img/3.png
similarity index 100%
rename from WEB. HTML/static/img/3.png
rename to 01-flask-html/static/img/3.png
diff --git a/WEB. HTML/static/img/img.png b/01-flask-html/static/img/img.png
similarity index 100%
rename from WEB. HTML/static/img/img.png
rename to 01-flask-html/static/img/img.png
diff --git a/WEB. HTML/static/img/planet.jpg b/01-flask-html/static/img/planet.jpg
similarity index 100%
rename from WEB. HTML/static/img/planet.jpg
rename to 01-flask-html/static/img/planet.jpg
diff --git a/WEB. HTML flask-wtf/news.json b/02-flask-wtf-forms/news.json
similarity index 96%
rename from WEB. HTML flask-wtf/news.json
rename to 02-flask-wtf-forms/news.json
index 75fac2a..51349bd 100644
--- a/WEB. HTML flask-wtf/news.json
+++ b/02-flask-wtf-forms/news.json
@@ -1,16 +1,16 @@
-{
- "news": [
- {
- "title": "Сегодня хорошая погода",
- "content": "Невероятно, сегодня хорошая погода"
- },
- {
- "title": "Завтра хорошая погода",
- "content": "С ума сойти, и завтра хорошая погода"
- },
- {
- "title": "Послезавтра дождь",
- "content": "Все вошло в норму"
- }
- ]
+{
+ "news": [
+ {
+ "title": "Сегодня хорошая погода",
+ "content": "Невероятно, сегодня хорошая погода"
+ },
+ {
+ "title": "Завтра хорошая погода",
+ "content": "С ума сойти, и завтра хорошая погода"
+ },
+ {
+ "title": "Послезавтра дождь",
+ "content": "Все вошло в норму"
+ }
+ ]
}
\ No newline at end of file
diff --git a/WEB. HTML flask-wtf/static/css/style.css b/02-flask-wtf-forms/static/css/style.css
similarity index 91%
rename from WEB. HTML flask-wtf/static/css/style.css
rename to 02-flask-wtf-forms/static/css/style.css
index f38977b..0f9fcd2 100644
--- a/WEB. HTML flask-wtf/static/css/style.css
+++ b/02-flask-wtf-forms/static/css/style.css
@@ -1,7 +1,7 @@
-h4.color_edit {
- color: "black";
-}
-
-p.padmarging {
- margin-left: 20px;
+h4.color_edit {
+ color: "black";
+}
+
+p.padmarging {
+ margin-left: 20px;
}
\ No newline at end of file
diff --git a/WEB. HTML 2/static/img/kb1.jpg b/02-flask-wtf-forms/static/img/kb1.jpg
similarity index 100%
rename from WEB. HTML 2/static/img/kb1.jpg
rename to 02-flask-wtf-forms/static/img/kb1.jpg
diff --git a/WEB. HTML 2/static/img/kb2.jpg b/02-flask-wtf-forms/static/img/kb2.jpg
similarity index 100%
rename from WEB. HTML 2/static/img/kb2.jpg
rename to 02-flask-wtf-forms/static/img/kb2.jpg
diff --git a/WEB. HTML 2/static/img/mars_ico.png b/02-flask-wtf-forms/static/img/mars_ico.png
similarity index 100%
rename from WEB. HTML 2/static/img/mars_ico.png
rename to 02-flask-wtf-forms/static/img/mars_ico.png
diff --git a/WEB. HTML flask-wtf/templates/auto_answer.html b/02-flask-wtf-forms/templates/auto_answer.html
similarity index 96%
rename from WEB. HTML flask-wtf/templates/auto_answer.html
rename to 02-flask-wtf-forms/templates/auto_answer.html
index 3c9069b..4668928 100644
--- a/WEB. HTML flask-wtf/templates/auto_answer.html
+++ b/02-flask-wtf-forms/templates/auto_answer.html
@@ -1,15 +1,15 @@
-{% extends "base_two.html" %}
-
-{% block content1 %}
-
-
И на Марсе будут яблони цвести!
-
-
- Фамилия: {{surname}}
- Имя: {{name}}
- Образование: {{education}}
- Профессия: {{profession}}
- Пол: {{sex}}
- Мотивация: {{motivation}}
- Готовы остаться на Марсе? {{ready}}
+{% extends "base_two.html" %}
+
+{% block content1 %}
+
+
И на Марсе будут яблони цвести!
+
+
+ Фамилия: {{surname}}
+ Имя: {{name}}
+ Образование: {{education}}
+ Профессия: {{profession}}
+ Пол: {{sex}}
+ Мотивация: {{motivation}}
+ Готовы остаться на Марсе? {{ready}}
{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML flask-wtf/templates/base.html b/02-flask-wtf-forms/templates/base.html
similarity index 96%
rename from WEB. HTML flask-wtf/templates/base.html
rename to 02-flask-wtf-forms/templates/base.html
index 075e439..e91bd0d 100644
--- a/WEB. HTML flask-wtf/templates/base.html
+++ b/02-flask-wtf-forms/templates/base.html
@@ -1,32 +1,32 @@
-
-
-
-
-
-
-
-
-
-
-
- {{title}}
-
-
-
-
-
- {% block content1 %}{% endblock %}
-
-
+
+
+
+
+
+
+
+
+
+
+
+ {{title}}
+
+
+
+
+
+ {% block content1 %}{% endblock %}
+
+
\ No newline at end of file
diff --git a/WEB. HTML 2/templates/base_two.html b/02-flask-wtf-forms/templates/base_two.html
similarity index 92%
rename from WEB. HTML 2/templates/base_two.html
rename to 02-flask-wtf-forms/templates/base_two.html
index f4d32b4..b4109d6 100644
--- a/WEB. HTML 2/templates/base_two.html
+++ b/02-flask-wtf-forms/templates/base_two.html
@@ -1,10 +1,10 @@
-{% extends "base.html" %}
-
-{% block content1 %}
-
-
И на Марсе будут яблони цвести!
-
-
- {% block content2 %}{% endblock %}
-
+{% extends "base.html" %}
+
+{% block content1 %}
+
+
И на Марсе будут яблони цвести!
+
+
+ {% block content2 %}{% endblock %}
+
{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML 2/templates/distribution.html b/02-flask-wtf-forms/templates/distribution.html
similarity index 93%
rename from WEB. HTML 2/templates/distribution.html
rename to 02-flask-wtf-forms/templates/distribution.html
index 9327eaf..76a41f2 100644
--- a/WEB. HTML 2/templates/distribution.html
+++ b/02-flask-wtf-forms/templates/distribution.html
@@ -1,8 +1,8 @@
-{% extends "base_two.html" %}
-
-{% block content2 %}
- Размещение по каютам
- {% for user in users %}
- {{ user }} - Каюта № {{ loop.index }} {% if loop.first %} - первый в очереди {% endif %}
- {% endfor %}
+{% extends "base_two.html" %}
+
+{% block content2 %}
+ Размещение по каютам
+ {% for user in users %}
+ {{ user }} - Каюта № {{ loop.index }} {% if loop.first %} - первый в очереди {% endif %}
+ {% endfor %}
{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML 2/templates/index.html b/02-flask-wtf-forms/templates/index.html
similarity index 79%
rename from WEB. HTML 2/templates/index.html
rename to 02-flask-wtf-forms/templates/index.html
index f847176..8ce6232 100644
--- a/WEB. HTML 2/templates/index.html
+++ b/02-flask-wtf-forms/templates/index.html
@@ -1,5 +1,5 @@
-{% extends "base.html" %}
-
-{% block content1 %}
- {{label}}
+{% extends "base.html" %}
+
+{% block content1 %}
+ {{label}}
{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML 2/templates/list_prof.html b/02-flask-wtf-forms/templates/list_prof.html
similarity index 96%
rename from WEB. HTML 2/templates/list_prof.html
rename to 02-flask-wtf-forms/templates/list_prof.html
index 97739fe..42e937d 100644
--- a/WEB. HTML 2/templates/list_prof.html
+++ b/02-flask-wtf-forms/templates/list_prof.html
@@ -1,27 +1,27 @@
-{% extends "base_two.html" %}
-
-{% block content2 %}
- {% set all_prof = ['врач', "экзобиолог", "климатолог", "астрогеолог", "гляциолог", "метеоролог",
- 'инженер-исследователь', "пилот", "строитель", "инженер по терраформированию",
- "специалист по радиационной защите", "инженер жизнеобеспечения", "оператор марсохода",
- "киберинженер", "штурман", "пилот дронов"] %}
- {% if var == "ol" %}
- Список профессий
-
-
- {% for p in all_prof %}
- {{p}}
- {% endfor %}
-
-
- {% elif var == "ul" %}
- Список профессий
-
- {% for p in all_prof %}
-
{{p}}
- {% endfor %}
-
- {% else %}
- Индекс указан неправильно!
- {% endif %}
+{% extends "base_two.html" %}
+
+{% block content2 %}
+ {% set all_prof = ['врач', "экзобиолог", "климатолог", "астрогеолог", "гляциолог", "метеоролог",
+ 'инженер-исследователь', "пилот", "строитель", "инженер по терраформированию",
+ "специалист по радиационной защите", "инженер жизнеобеспечения", "оператор марсохода",
+ "киберинженер", "штурман", "пилот дронов"] %}
+ {% if var == "ol" %}
+ Список профессий
+
+
+ {% for p in all_prof %}
+ {{p}}
+ {% endfor %}
+
+
+ {% elif var == "ul" %}
+ Список профессий
+
+ {% for p in all_prof %}
+
{{p}}
+ {% endfor %}
+
+ {% else %}
+ Индекс указан неправильно!
+ {% endif %}
{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML flask-wtf/templates/login.html b/02-flask-wtf-forms/templates/login.html
similarity index 96%
rename from WEB. HTML flask-wtf/templates/login.html
rename to 02-flask-wtf-forms/templates/login.html
index bb6ec1e..77e7387 100644
--- a/WEB. HTML flask-wtf/templates/login.html
+++ b/02-flask-wtf-forms/templates/login.html
@@ -1,45 +1,45 @@
-{% extends "base_two.html" %}
-
-{% block content2 %}
- Аварийный доступ
-
- {{ form.hidden_tag() }}
-
- {{ form.id_user.label }} >
- {{ form.id_user(class="form-control") }}
- {% for error in form.id_user.errors %}
-
- {{ error }}
-
- {% endfor %}
-
-
- {{ form.pas_user.label }}
- {{ form.pas_user(class="form-control", type="password") }}
- {% for error in form.pas_user.errors %}
-
- {{ error }}
-
- {% endfor %}
-
-
- {{ form.id_cap.label }}
- {{ form.id_cap(class="form-control") }}
- {% for error in form.id_cap.errors %}
-
- {{ error }}
-
- {% endfor %}
-
-
- {{ form.pas_cap.label }}
- {{ form.pas_cap(class="form-control", type="password") }}
- {% for error in form.pas_cap.errors %}
-
- {{ error }}
-
- {% endfor %}
-
- {{ form.submit(type="submit", class="btn btn-primary") }}
-
+{% extends "base_two.html" %}
+
+{% block content2 %}
+ Аварийный доступ
+
+ {{ form.hidden_tag() }}
+
+ {{ form.id_user.label }} >
+ {{ form.id_user(class="form-control") }}
+ {% for error in form.id_user.errors %}
+
+ {{ error }}
+
+ {% endfor %}
+
+
+ {{ form.pas_user.label }}
+ {{ form.pas_user(class="form-control", type="password") }}
+ {% for error in form.pas_user.errors %}
+
+ {{ error }}
+
+ {% endfor %}
+
+
+ {{ form.id_cap.label }}
+ {{ form.id_cap(class="form-control") }}
+ {% for error in form.id_cap.errors %}
+
+ {{ error }}
+
+ {% endfor %}
+
+
+ {{ form.pas_cap.label }}
+ {{ form.pas_cap(class="form-control", type="password") }}
+ {% for error in form.pas_cap.errors %}
+
+ {{ error }}
+
+ {% endfor %}
+
+ {{ form.submit(type="submit", class="btn btn-primary") }}
+
{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML flask-wtf/templates/training.html b/02-flask-wtf-forms/templates/training.html
similarity index 97%
rename from WEB. HTML flask-wtf/templates/training.html
rename to 02-flask-wtf-forms/templates/training.html
index 2f4b270..45de75d 100644
--- a/WEB. HTML flask-wtf/templates/training.html
+++ b/02-flask-wtf-forms/templates/training.html
@@ -1,17 +1,17 @@
-{% extends "base_two.html" %}
-
-{% block content2 %}
- {% set sin = ['врач', "экзобиолог", "климатолог", "астрогеолог", "гляциолог", "метеоролог"] %}
- {% set inj = ['инженер-исследователь', "пилот", "строитель", "инженер по терраформированию",
- "специалист по радиационной защите", "инженер жизнеобеспечения", "оператор марсохода",
- "киберинженер", "штурман", "пилот дронов"] %}
- {% if spec.lower() in sin %}
- Научные симуляторы
-
- {% elif spec.lower() in inj %}
- Инженерные тренажеры
-
- {% else %}
- В наших списках ваша профессия отсутствует!
- {% endif %}
+{% extends "base_two.html" %}
+
+{% block content2 %}
+ {% set sin = ['врач', "экзобиолог", "климатолог", "астрогеолог", "гляциолог", "метеоролог"] %}
+ {% set inj = ['инженер-исследователь', "пилот", "строитель", "инженер по терраформированию",
+ "специалист по радиационной защите", "инженер жизнеобеспечения", "оператор марсохода",
+ "киберинженер", "штурман", "пилот дронов"] %}
+ {% if spec.lower() in sin %}
+ Научные симуляторы
+
+ {% elif spec.lower() in inj %}
+ Инженерные тренажеры
+
+ {% else %}
+ В наших списках ваша профессия отсутствует!
+ {% endif %}
{% endblock %}
\ No newline at end of file
diff --git a/Полный поиск/delta.py b/03-yandex-maps-search/delta.py
similarity index 89%
rename from Полный поиск/delta.py
rename to 03-yandex-maps-search/delta.py
index 964a076..8895db9 100644
--- a/Полный поиск/delta.py
+++ b/03-yandex-maps-search/delta.py
@@ -1,21 +1,21 @@
-def delta(org, adr):
- first = "0.0001"
- adr = list(map(float, adr.split(',')))
-
- k1 = float(first)
- while True:
- k = adr[0] + k1
- if org[0] + 0.001 >= k:
- k1 *= 10
- else:
- break
-
- k2 = float(first)
- while True:
- k = adr[1] + k2
- if org[1] + 0.001 >= k:
- k2 *= 10
- else:
- break
-
+def delta(org, adr):
+ first = "0.0001"
+ adr = list(map(float, adr.split(',')))
+
+ k1 = float(first)
+ while True:
+ k = adr[0] + k1
+ if org[0] + 0.001 >= k:
+ k1 *= 10
+ else:
+ break
+
+ k2 = float(first)
+ while True:
+ k = adr[1] + k2
+ if org[1] + 0.001 >= k:
+ k2 *= 10
+ else:
+ break
+
return str(max(k1, k2))
\ No newline at end of file
diff --git a/WEB. HTML 2/loginform.py b/WEB. HTML 2/loginform.py
deleted file mode 100644
index 90464b9..0000000
--- a/WEB. HTML 2/loginform.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from flask_wtf import FlaskForm
-from wtforms import StringField, PasswordField, BooleanField, SubmitField
-from wtforms.validators import DataRequired
-
-
-class LoginForm(FlaskForm):
- id_user = StringField('Id астронавта', validators=[DataRequired()])
- pas_user = PasswordField('Пароль астронавта', validators=[DataRequired()])
- id_cap = StringField('Id капитана', validators=[DataRequired()])
- pas_cap = PasswordField('Пароль капитана', validators=[DataRequired()])
- # remember_me = BooleanField('Запомнить меня') {{ form.remember_me() }} {{ form.remember_me.label }}
- submit = SubmitField('Доступ')
-
-
diff --git a/WEB. HTML 2/server.py b/WEB. HTML 2/server.py
deleted file mode 100644
index 5b16af1..0000000
--- a/WEB. HTML 2/server.py
+++ /dev/null
@@ -1,53 +0,0 @@
-from flask import Flask, render_template, redirect
-from loginform import LoginForm
-
-
-app = Flask(__name__)
-app.config['SECRET_KEY'] = 'yandexlyceum_secret_key'
-
-
-@app.route('/')
-@app.route('/index')
-def index(label):
- param = {'label': 'И на Марсе будут яблони цвести!', 'title': label}
- return render_template('index.html', **param)
-
-
-@app.route('/training/')
-def training(prof):
- param = {'title': "Тренировки в полёте", "spec": prof}
- return render_template('training.html', **param)
-
-
-@app.route('/list_prof/')
-def list_prof(var):
- param = {'title': "Список профессий", "var": var}
- return render_template('list_prof.html', **param)
-
-
-@app.route('/answer')
-@app.route('/auto_answer')
-def answer():
- param = {'title': "Анкета", 'surname': "Фёдоров", 'name': "Марк", 'education': "Среднее", 'profession': " Писатель",
- 'sex': "Male", 'motivation': "Распространить хип-хоп в космос!", 'ready': "True"}
- return render_template('auto_answer.html', **param)
-
-
-@app.route('/login', methods=['GET', 'POST'])
-def login():
- param = {'title': "Аварийный доступ"}
- form = LoginForm()
- if form.validate_on_submit():
- return redirect('/success')
- return render_template('login.html', **param, form=form)
-
-
-@app.route('/distribution')
-def success():
- param = {'title': "По каютам!", "users": ['Ридли Скотт', 'Энди Уир', 'Марк Уотни', "Венката Капур",
- 'Тедди Сандерс', 'Шон Бин']}
- return render_template('distribution.html', **param)
-
-
-if __name__ == '__main__':
- app.run(port=8080, host='127.0.0.1')
diff --git a/WEB. HTML 2/static/css/style.css b/WEB. HTML 2/static/css/style.css
deleted file mode 100644
index f38977b..0000000
--- a/WEB. HTML 2/static/css/style.css
+++ /dev/null
@@ -1,7 +0,0 @@
-h4.color_edit {
- color: "black";
-}
-
-p.padmarging {
- margin-left: 20px;
-}
\ No newline at end of file
diff --git a/WEB. HTML 2/templates/auto_answer.html b/WEB. HTML 2/templates/auto_answer.html
deleted file mode 100644
index 3c9069b..0000000
--- a/WEB. HTML 2/templates/auto_answer.html
+++ /dev/null
@@ -1,15 +0,0 @@
-{% extends "base_two.html" %}
-
-{% block content1 %}
-
-
И на Марсе будут яблони цвести!
-
-
- Фамилия: {{surname}}
- Имя: {{name}}
- Образование: {{education}}
- Профессия: {{profession}}
- Пол: {{sex}}
- Мотивация: {{motivation}}
- Готовы остаться на Марсе? {{ready}}
-{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML 2/templates/base.html b/WEB. HTML 2/templates/base.html
deleted file mode 100644
index 075e439..0000000
--- a/WEB. HTML 2/templates/base.html
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- {{title}}
-
-
-
-
-
- {% block content1 %}{% endblock %}
-
-
-
\ No newline at end of file
diff --git a/WEB. HTML 2/templates/login.html b/WEB. HTML 2/templates/login.html
deleted file mode 100644
index bb6ec1e..0000000
--- a/WEB. HTML 2/templates/login.html
+++ /dev/null
@@ -1,45 +0,0 @@
-{% extends "base_two.html" %}
-
-{% block content2 %}
- Аварийный доступ
-
- {{ form.hidden_tag() }}
-
- {{ form.id_user.label }} >
- {{ form.id_user(class="form-control") }}
- {% for error in form.id_user.errors %}
-
- {{ error }}
-
- {% endfor %}
-
-
- {{ form.pas_user.label }}
- {{ form.pas_user(class="form-control", type="password") }}
- {% for error in form.pas_user.errors %}
-
- {{ error }}
-
- {% endfor %}
-
-
- {{ form.id_cap.label }}
- {{ form.id_cap(class="form-control") }}
- {% for error in form.id_cap.errors %}
-
- {{ error }}
-
- {% endfor %}
-
-
- {{ form.pas_cap.label }}
- {{ form.pas_cap(class="form-control", type="password") }}
- {% for error in form.pas_cap.errors %}
-
- {{ error }}
-
- {% endfor %}
-
- {{ form.submit(type="submit", class="btn btn-primary") }}
-
-{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML 2/templates/training.html b/WEB. HTML 2/templates/training.html
deleted file mode 100644
index 2f4b270..0000000
--- a/WEB. HTML 2/templates/training.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends "base_two.html" %}
-
-{% block content2 %}
- {% set sin = ['врач', "экзобиолог", "климатолог", "астрогеолог", "гляциолог", "метеоролог"] %}
- {% set inj = ['инженер-исследователь', "пилот", "строитель", "инженер по терраформированию",
- "специалист по радиационной защите", "инженер жизнеобеспечения", "оператор марсохода",
- "киберинженер", "штурман", "пилот дронов"] %}
- {% if spec.lower() in sin %}
- Научные симуляторы
-
- {% elif spec.lower() in inj %}
- Инженерные тренажеры
-
- {% else %}
- В наших списках ваша профессия отсутствует!
- {% endif %}
-{% endblock %}
\ No newline at end of file
diff --git a/WEB. HTML flask-wtf/loginform.py b/WEB. HTML flask-wtf/loginform.py
deleted file mode 100644
index 90464b9..0000000
--- a/WEB. HTML flask-wtf/loginform.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from flask_wtf import FlaskForm
-from wtforms import StringField, PasswordField, BooleanField, SubmitField
-from wtforms.validators import DataRequired
-
-
-class LoginForm(FlaskForm):
- id_user = StringField('Id астронавта', validators=[DataRequired()])
- pas_user = PasswordField('Пароль астронавта', validators=[DataRequired()])
- id_cap = StringField('Id капитана', validators=[DataRequired()])
- pas_cap = PasswordField('Пароль капитана', validators=[DataRequired()])
- # remember_me = BooleanField('Запомнить меня') {{ form.remember_me() }} {{ form.remember_me.label }}
- submit = SubmitField('Доступ')
-
-
diff --git a/WEB. HTML flask-wtf/server.py b/WEB. HTML flask-wtf/server.py
deleted file mode 100644
index d9aa1f7..0000000
--- a/WEB. HTML flask-wtf/server.py
+++ /dev/null
@@ -1,53 +0,0 @@
-from flask import Flask, render_template, redirect
-from loginform import LoginForm
-
-
-app = Flask(__name__)
-app.config['SECRET_KEY'] = 'yandexlyceum_secret_key'
-
-
-@app.route('/')
-@app.route('/index/')
-def index(label):
- param = {'label': 'И на Марсе будут яблони цвести!', 'title': label}
- return render_template('index.html', **param)
-
-
-@app.route('/training/')
-def training(prof):
- param = {'title': "Тренировки в полёте", "spec": prof}
- return render_template('training.html', **param)
-
-
-@app.route('/list_prof/')
-def list_prof(var):
- param = {'title': "Список профессий", "var": var}
- return render_template('list_prof.html', **param)
-
-
-@app.route('/answer')
-@app.route('/auto_answer')
-def answer():
- param = {'title': "Анкета", 'surname': "Фёдоров", 'name': "Марк", 'education': "Среднее", 'profession': " Писатель",
- 'sex': "Male", 'motivation': "Распространить хип-хоп в космос!", 'ready': "True"}
- return render_template('auto_answer.html', **param)
-
-
-@app.route('/login', methods=['GET', 'POST'])
-def login():
- param = {'title': "Аварийный доступ"}
- form = LoginForm()
- if form.validate_on_submit():
- return redirect('/success')
- return render_template('login.html', **param, form=form)
-
-
-@app.route('/distribution')
-def success():
- param = {'title': "По каютам!", "users": ['Ридли Скотт', 'Энди Уир', 'Марк Уотни', "Венката Капур",
- 'Тедди Сандерс', 'Шон Бин']}
- return render_template('distribution.html', **param)
-
-
-if __name__ == '__main__':
- app.run(port=8080, host='127.0.0.1')
diff --git a/WEB. HTML flask-wtf/static/img/kb1.jpg b/WEB. HTML flask-wtf/static/img/kb1.jpg
deleted file mode 100644
index fe25a0463a0ad027bc7e81a0a57ac29338abb0af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 274283
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