|
1 | 1 | # Генератор паролей |
2 | 2 |
|
| 3 | +*Текущая версия: 1.1.0* |
| 4 | + |
3 | 5 | [](https://opensource.org/licenses/MIT) |
4 | 6 |
|
5 | | -**Текущая версия: 1.0.0 (Стабильная)** |
| 7 | +## Описание |
6 | 8 |
|
7 | | -Этот проект представляет собой простой генератор паролей, написанный на HTML. |
| 9 | +Простая веб-программа для генерации безопасных паролей с различными настройками. |
| 10 | +Генерирует пароли заданной длины, с возможностью включения заглавных букв, цифр и специальных символов. |
8 | 11 |
|
9 | | -## Описание |
10 | | -Скрипт позволяет генерировать случайные пароли заданной длины, |
11 | | -с возможностью включения в них: латинских строчных букв, латинских заглавных букв, цифр и спецсимволов. |
| 12 | +## Технологии: |
| 13 | + |
| 14 | +* *Бэкенд:* Python, Flask |
| 15 | +* *Генерация паролей:* Модули `random` и `string` из стандартной библиотеки Python. |
| 16 | +* *Фронтенд:* HTML, CSS, JavaScript (использует Fetch API для взаимодействия с бэкендом). |
| 17 | + |
| 18 | +## Что нового: |
| 19 | +1. Создан password_generator.py (бэкенд) с основной логикой генерации паролей. |
| 20 | + |
| 21 | +2. Создан app.py с использованием Flask, который будет управлять всем: |
| 22 | + * Отдавать index.html пользователю. |
| 23 | + * Принимать запросы от index.html (длина, типы символов). |
| 24 | + * Вызывать функции из password_generator.py. |
| 25 | + * Возвращать сгенерированный пароль обратно в index.html. |
| 26 | + |
| 27 | + Перед запуском: Убедитесь, что у вас установлен Flask. Если нет, выполните: |
| 28 | + ```pip install Flask``` |
| 29 | + |
| 30 | +3. Обновлен index.html (фронтенд). Изменен JavaScript так, чтобы он отправлял запрос на наш Flask-сервер. |
| 31 | + * Добавлено поле errorMessageDiv для отображения ошибок от сервера. |
| 32 | + * Функция generatePassword теперь использует fetch API для отправки POST-запроса на /generate_password. |
| 33 | + * Данные отправляются в формате JSON. |
| 34 | + * Обрабатывается ответ сервера: если есть ошибка, она показывается пользователю, иначе — отображается пароль. |
| 35 | + * Немного улучшен CSS для лучшего отображения настроек. |
12 | 36 |
|
13 | 37 | ## Как запустить: |
14 | | -1. Скачайте и сохраните файл `index.html`. |
| 38 | +1. Скачайте и сохраните архив с программой и запустите файл `index.html`. |
15 | 39 | 2. Теперь вы можете открыть этот файл в браузере, чтобы увидеть работающий генератор паролей. |
16 | | - Сейчас этот index.html работает полностью на стороне клиента (в браузере) |
17 | 40 |
|
18 | | -## Технологии: |
19 | | -* |
20 | | -* Модуль `random` |
| 41 | +Важные замечания для app.py: |
| 42 | + |
| 43 | +Папка templates: Flask по умолчанию ищет HTML-файлы в подпапке templates. Вам нужно будет создать эту папку и переместить туда ваш index.html. Скрипт app.py пытается сделать это автоматически при первом запуске, но лучше сделать вручную, чтобы избежать ошибок. |
| 44 | +```pip install Flask``` : Убедитесь, что Flask установлен. |
| 45 | +__version__: Наш password_generator.py должен содержать переменную __version__ = "1.1.0". |
| 46 | + |
| 47 | +1. Сохраните password_generator.py и app.py в одной директории. |
| 48 | +2. Создайте папку templates в этой же директории. |
| 49 | +3. Переместите ваш index.html внутрь папки templates. |
| 50 | +4. Откройте терминал в этой директории. |
| 51 | +5. Запустите сервер: python app.py |
| 52 | +6. Откройте браузер и перейдите по адресу http://127.0.0.1:5000/ (или http://localhost:5000/). |
| 53 | +Теперь ваш index.html должен работать интерактивно, общаясь с Python-скриптом через Flask! |
| 54 | + |
| 55 | +## 1. Структура папок: |
| 56 | + |
| 57 | +Убедитесь, что ваши файлы расположены следующим образом: |
| 58 | + |
| 59 | +ваш_проект/ |
| 60 | +├── password_generator.py |
| 61 | +├── app.py |
| 62 | +└── templates/ |
| 63 | + └── index.html |
| 64 | + |
| 65 | +* `ваш_проект/` - это корневая директория вашего проекта. |
| 66 | +* `password_generator.py` и `app.py` лежат прямо в корне. |
| 67 | +* Создайте папку `templates` в корне. |
| 68 | +* Переместите ваш `index.html` внутрь этой папки `templates/`. |
| 69 | + |
| 70 | +2. Установка Flask (если еще не установлено): |
| 71 | + |
| 72 | +Откройте терминал (командную строку) и выполните команду: |
| 73 | + |
| 74 | +pip install Flask |
| 75 | + |
| 76 | + |
| 77 | +Если у вас установлен Python, то `pip` должен быть доступен. Если возникнут ошибки, возможно, Python или pip установлены некорректно, или пути к ним не прописаны в переменной среды PATH. |
| 78 | + |
| 79 | +3. Запуск сервера: |
| 80 | + |
| 81 | +* Откройте терминал: |
| 82 | + * Windows: Найдите "Командная строка" (Command Prompt) или "PowerShell". |
| 83 | + * macOS/Linux: Откройте стандартное приложение "Терминал". |
| 84 | + |
| 85 | +* Перейдите в директорию вашего проекта: |
| 86 | + Используйте команду `cd` (change directory). Например, если ваш проект находится на рабочем столе в папке `password-generator`: |
| 87 | + |
| 88 | + cd Desktop/password-generator |
| 89 | + |
| 90 | + (Путь может отличаться в зависимости от того, где вы сохранили проект). |
| 91 | + |
| 92 | +* Запустите Python-скрипт `app.py`: |
| 93 | + Убедитесь, что вы находитесь в той же директории, где лежат `app.py` и папка `templates`. Теперь введите команду: |
| 94 | + |
| 95 | + ```python app.py``` |
| 96 | + |
| 97 | + * Важно: Если у вас на компьютере установлено несколько версий Python, и по умолчанию запускается не та, к которой привязан `pip`, то может потребоваться использовать `python3 app.py` или `py app.py` (на Windows). Проще всего использовать `python` или `python3`, если вы уверены, что они указывают на нужную версию. |
| 98 | + |
| 99 | +Что должно произойти после запуска: |
| 100 | + |
| 101 | +Вы увидите сообщения в терминале, похожие на эти: |
| 102 | + |
| 103 | +* Serving Flask app 'app' (lazy loading) |
| 104 | +* Environment: production |
| 105 | + WARNING: This is a development server. Do not use it in a production deployment. |
| 106 | + Use a production WSGI server instead. |
| 107 | +* Debug mode: on |
| 108 | +* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) |
| 109 | +* Running on http://127.0.0.1:5000/ |
| 110 | + |
| 111 | +Файл index.html перемещен в папку 'templates'. |
| 112 | + |
| 113 | + |
| 114 | +4. Открытие в браузере: |
| 115 | + |
| 116 | +* Возьмите одну из ссылок, которые появились в терминале, обычно это: |
| 117 | + `http://127.0.0.1:5000/` (или `http://localhost:5000/`) |
| 118 | +* Откройте ваш веб-браузер (Chrome, Firefox, Safari, Edge и т.д.). |
| 119 | +* Вставьте эту ссылку в адресную строку браузера и нажмите Enter. |
| 120 | + |
| 121 | +Вы должны увидеть ваш генератор паролей, который теперь будет работать, обращаясь к Python-бэкенду! |
| 122 | + |
| 123 | +Если что-то пошло не так: |
| 124 | + |
| 125 | +* "ModuleNotFoundError: No module named 'Flask'": Значит, Flask не установлен. Попробуйте `pip install Flask` еще раз. |
| 126 | +* "ModuleNotFoundError: No module named 'password_generator'": Значит, `app.py` не может найти ваш файл `password_generator.py`. Убедитесь, что они лежат в одной директории, и вы запускаете `app.py` из этой директории. |
| 127 | +* "FileNotFoundError: [Errno 2] No such file or directory: 'templates/index.html'": Значит, `index.html` не находится в папке `templates/`. Проверьте структуру папок. |
| 128 | +* Ошибки в браузере: Если браузер выдает ошибки, проверьте консоль ошибок в браузере (обычно открывается через F12) и сообщения в терминале, где запущен `app.py`. Там может быть более подробная информация. |
| 129 | + |
21 | 130 |
|
22 | 131 | ## Пример использования: |
23 | 132 | Использует строчные буквы. |
24 | | -Введите длину пароля (от 8 до 256): 10 |
| 133 | +Введите длину пароля (от 8 и более). |
25 | 134 | Использовать цифры? |
26 | 135 | Использовать ЗАГЛАВНЫЕ буквы? |
27 | 136 | Использовать спецсимволы? |
|
0 commit comments