Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sergeimischenko/project_2_django_site

Блог про кошек — это моё первое веб-приложение на Django, где пользователи могут делиться историями и фотографиями своих питомцев, выбирать породы и особенности характера кошек, а также взаимодействовать с другими любителями кошек.
https://github.com/sergeimischenko/project_2_django_site

auth0 blog captcha category cats comment-system css django django-toolbar html pagination permissions python redis search-algorithm social-login website

Last synced: 9 days ago
JSON representation

Блог про кошек — это моё первое веб-приложение на Django, где пользователи могут делиться историями и фотографиями своих питомцев, выбирать породы и особенности характера кошек, а также взаимодействовать с другими любителями кошек.

Awesome Lists containing this project

README

        

Блог про кошек


Блог про кошек — это моё первое веб-приложение на Django, где пользователи могут делиться историями и фотографиями своих питомцев, выбирать породы и особенности характера кошек, а также взаимодействовать с другими любителями кошек.

___

Функциональные возможности

- **Регистрация и аутентификация:** Поддерживается регистрация и вход с помощью логина и пароля, а также с помощью социальных сетей (GitHub, Google, ВКонтакте)

- **Управление постами:** Авторизованные пользователи могут создавать, редактировать и удалять посты. Каждый пост может включать фотографию питомца, его породу, описание и характер.

- **Профили пользователей:** Реализован кастомный пользовательский профиль на основе AbstractUser, где пользователи могут управлять своей информацией.

- **Система комментариев:** Пользователи могут оставлять комментарии к постам и взаимодействовать друг с другом.

- **Поиск и сортировка постов:** Возможность поиска по сайту и сортировка постов по количеству комментариев с помощью кастомного шаблонного тега.

- **Пагинация:** Удобная пагинация для просмотра большого количества постов.

- **Защита и безопасность:**
- Защита от спама при помощи CAPTCHA в форме авторизации.
- Сброс и изменение пароля через уникальную ссылку, отправляемую на email пользователя.

- **Кэширование:** Используется Redis для кэширования страниц с шаблонами, что повышает производительность.

- **Оптимизация запросов:** Django Debug Toolbar используется для оптимизации SQL запросов и устранения дубликатов запросов.

- **Фикстуры данных:** Используются для загрузки начальной базы данных.

___

Установка

1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/SergeiMischenko/project_2_Django_site.git

2. **Перейдите в папку проекта:**
```bash
cd project_2_Django_site

3. **Установите виртуальное окружение и активируйте его:**
```bash
python -m venv env
source env/bin/activate # Для Linux и macOS
env\Scripts\activate # Для Windows

4. **Установите необходимые зависимости:**
```bash
pip install -r requirements.txt

5. **Выполните миграции базы данных:**
```bash
python manage.py migrate

6. **Загрузите начальные данные из фикстур:**
```bash
python manage.py loaddata mysite_data.json

7. **Запустите сервер разработки:**
```bash
python manage.py runserver

8. **Доступ к приложению:**

После завершения всех вышеуказанных шагов, приложение будет доступно по адресу http://127.0.0.1:8000.

___

Основные страницы

| ![Главная страница](https://imgur.com/ZCQcbe2.png) | ![Поиск](https://imgur.com/mQN07k3.png) | ![Просмотр поста и комментарии](https://imgur.com/Z5n5YTs.png) |
|---|---|---|
| Главная страница | Поиск | Просмотр поста и комментарии |

___

Пользовательские функции

| ![Регистрация](https://imgur.com/75e0pKT.png) | ![Авторизация](https://imgur.com/5yEKl92.png) | ![Новая статья](https://imgur.com/cAqFuJ6.png) |
|---|---|---|
| Регистрация | Авторизация | Новая статья |

___

Управление аккаунтом

| ![Профиль](https://imgur.com/MqnfmPT.png) | ![Изменение пароля](https://imgur.com/vpcIwKR.png) | ![Восстановление пароля](https://imgur.com/3KyIlvx.png) |
|---|---|---|
| Профиль | Изменение пароля | Восстановление пароля |