1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sic096-school-circle

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 21 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.06.2025 23:26 1025c83

Обновление

Дата обновления: 2025-03-09. Сегодня один из читателей написал мне в WeChat и указал на ошибку в предыдущей версии, которая была загружена неправильно. В предыдущей версии отсутствовал функционал "campus circle". Сегодня я загрузил обновленную версию и изменил настройки базы данных, используя sqlite3 вместо необходимости установки отдельного MySQL. В остальном изменения не внесены.

Для проектных запросов обращайтесь к автору, V: sic096, пожалуйста, укажите цель вашего обращения

1. Скачивание и запуск проекта

1. Способы скачивания

Способ 1: Скачивание через git

git clone https://gitee.com/sic096/school-circle.git

Способ 2: Скачивание с помощью zip

image-20240723100236334

После скачивания распакуйте проект на локальном компьютере.

2. Виртуальное окружение

Откройте файл graduation в PyCharm. Этот каталог содержит backend-контент, а v-graduation — frontend-контент.

Если PyCharm запросит доверие к проекту, выберите "доверять", иначе некоторые функции могут быть недоступны.

Перейдите в настройки PyCharm — проектные настройки — Python интерпретатор, создайте новый локальный интерпретатор для проекта.

image-20240723100935654

Все необходимые зависимости для проекта указаны в файле requirements.txt.

Откройте терминал PyCharm и убедитесь, что вы находитесь в новом виртуальном окружении.Введите следующую команду для установки зависимостей:

pip install -r .\requirements.txt

3. Настройка базы данных

Откройте файл settings в каталоге graduation, найдите настройки DATABASES и создайте новую базу данных с именем forum1. Убедитесь, что имя пользователя и пароль соответствуют вашим.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'forum1',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

Вышеуказанные настройки базы данных используют MySQL, который требует ручной установки и может быть сложным. В новой версии проекта база данных изменена на sqlite3, что позволяет использовать локальную базу данных для небольших проектов без необходимости установки.

В файле settings проекта измените настройки следующим образом:

DATABASES = {
    # Используем sqlite3 для локальной разработки, не требуется установка MySQL
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3'
    }
}

Затем в терминале выполните следующие две команды для выполнения миграций базы данных:

python manage.py makemigrations
python manage.py migrate

Если ошибок не возникло, значит миграции выполнены успешно.

4. Запуск Django-проекта

После выполнения вышеуказанных действий, в терминале выполните следующую команду для запуска проекта:

python manage.py runserver 127.0.0.1:8080
```Если проект запущен успешно, то на экране появится изображение, указанное выше. Обратите внимание, что порт запуска проекта — 8080.

Также можно использовать Django-сервис PyCharm для запуска проекта.

В PyCharm нажмите зелёную кнопку запуска в правом верхнем углу, затем выберите текущий файл — редактирование конфигурации — добавление нового конфигурационного файла.

![image-20240723101840545](school-circle_описание.assets/image-20240723101840545.png)

![image-20240723101911203](school-circle_описание.assets/image-20240723101911203.png)

Выберите Django-сервер

![image-20240723101932887](school-circle_описание.assets/image-20240723101932887.png)

Измените порт на 8080

![image-20240723102005457](school-circle_описание.assets/image-20240723102005457.png)

После нажатия кнопки "ОК" конфигурация будет добавлена, и проект можно запустить, нажав зелёную кнопку запуска.

## 5. Запуск фронтенда WeChat Mini Program

Используйте WeChat Developer Tool для открытия проекта. Введите ваш собственный AppID для WeChat Mini Program, так как проект использует получение openid пользователя для автоматической регистрации. Не рекомендуется использовать тестовый номер, лучше зарегистрировать свой WeChat Mini Program.

Отметьте "Не использовать облачные сервисы"

![image-20240723102419797](school-circle_описание.assets/image-20240723102419797.png)

Выберите "доверенный проект"

![image-20240723102443361](school-circle_описание.assets/image-20240723102443361.png)

## 6. Изменение AppSecret

Так как проект использует получение openid пользователя для автоматической регистрации, необходимо указать AppSecret вашего WeChat Mini Program.Откройте WeChat Public Platform и войдите в свой WeChat Mini Program.

https://mp.weixin.qq.com/

После входа перейдите в раздел "Разработка" и настройте свой AppSecret.

![image-20240723102954631](school-circle_описание.assets/image-20240723102954631.png)

Следуйте инструкциям для создания и сохранения AppSecret.

Откройте файл `views.py` в директории `api` Django-проекта, и на строке 53 измените URL-адрес следующим образом:

```python
url = 'https://api.weixin.qq.com/sns/jscode2session?appid=AppID_вашего_WeChat_Mini_Program&secret=Ваш_WeChat_Mini_Program_Secret&grant_type=authorization_code&js_code=' + code

Затем нужно соответствующим образом изменить appid для WeChat小程序:

image-20250309222736300

7. Запуск проекта

Сначала запустите проект Django.

Затем запустите фронтенд-проект в WeChat Developer Tools. Если возникнут проблемы во время запуска, достаточно повторно нажать кнопку компиляции.

Запущенный проект: (У меня уже есть данные в базе данных, поэтому проект будет содержать информацию)

image-20240723105249151

8. Создание суперпользователя

В терминале PyCharm выполните следующую команду для создания суперпользователя:

python manage.py createsuperuser

Следуйте инструкциям, чтобы ввести имя пользователя, адрес электронной почты (необязательно), пароль и подтверждение пароля.

2. Описание проекта

1. Раздел объявлений

Откройте встроенный в Django административный интерфейс и войдите в только что созданный аккаунт суперпользователя.Здесь можно выполнять операции добавления, удаления, изменения и просмотра всех данных системы.

image-20240723122801065

Нажмите на слайдер, затем нажмите кнопку "Добавить" справа, чтобы добавить новый баннер на главной странице.

image-20240723122839202

Содержимое слайдера на фронтенде:

image-20240723122907214

2. Раздел постов

2.1 Список постов

На главной странице есть область для постов. Когда пользователь прокручивает страницу до конца, автоматически запрашиваются данные следующей страницы, то есть реализовано "прокрутка страниц".

image-20240723123135244

Пользователь может нажать на область содержимого поста, чтобы перейти к просмотру полного поста, а также нажать на часть информации пользователя, чтобы перейти на его главную страницу.

2.2 Просмотр поста

В разделе просмотра поста пользователь может просмотреть полное содержимое поста, а также поставить лайк, оставить комментарий и т.д. Комментарии поддерживаются только на уровне первого порядка, без подкомментариев.

image-20240723123330274

Пользователь также может перейти на главную страницу пользователя, нажав на его аватар.### 2.3 Публикация поста

Пользователь может нажать на кнопку "Публикация" в нижней панели навигации, чтобы опубликовать пост. Количество изображений может быть от 0 до 9.

image-20240723123439763

2.4 Удаление поста

Пользователь может перейти на свою главную страницу, нажав на "Мои" и "Личная страница". Только для текущего пользователя, который находится на своей главной странице, будут доступны кнопки удаления постов.

image-20240723123529524

Просмотр страницы другого пользователя:

image-20240723123727757

2.5 Поиск постов

В верхней части главной страницы есть поле для поиска постов. Введите текст, чтобы найти посты.

image-20240723123825216

Результаты поиска:

image-20240723123839575

3. Часть с сообществами

3.1 Список сообществ

Нажав на вкладку "Сообщества" в нижней панели, вы попадете на страницу сообществ. Пользователи могут создавать различные сообщества, но каждый пользователь может создать не более трех сообществ.

image-20240723124043523

3.2 Подробная информация о сообществе

Нажав на сообщество, вы попадете в раздел с подробной информацией о нем.image-20240723124157034

3.3 Вступление в сообщество

После перехода в раздел с подробной информацией о сообществе, пользователь может нажать на кнопку "запрос на вступление", чтобы отправить запрос. Создатель сообщества может просмотреть запросы на вступление в разделе "мои сообщества".

image-20240723124334258

3.4 Публикация постов в сообществе

Пользователи могут нажать на кнопку "опубликовать пост" в разделе с подробной информацией о сообществе, чтобы опубликовать пост в сообществе. Пользователь также имеет возможность удалить опубликованный пост.

image-20240723124455638

3.5 Выход из сообщества

Пользователи могут нажать на кнопку "выйти из сообщества" в разделе с подробной информацией о сообществе, чтобы выйти из сообщества без необходимости одобрения администратора.

4. Вторичная торговля

4.1 Список товаров

Нажав на раздел "вторичная торговля" на главной странице, пользователи попадают на страницу со списком вторичных товаров.

image-20240723124641074

Нажав на кнопку "опубликовать" в нижней части экрана, пользователи могут опубликовать вторичный товар.

4.2 Подробная информация о товаре и покупкаНажав на товар, пользователи попадают на страницу с подробной информацией о товаре. Если текущий пользователь является автором товара, будет отображаться кнопка "удалить", в противном случае будет отображаться кнопка "купить".

image-20240723124743332

4.3 Просмотр товаров и отправка

Нажав на "мои" — "список заказов", пользователи могут просмотреть свои покупки и товары, которые были куплены. Если автор товара получил запрос на покупку, он может нажать на заказ, чтобы перейти к странице с подробной информацией о заказе, где будет отображаться кнопка "отправить". После того, как автор товара завершит отправку, кнопка будет отображаться как "заказ завершен".image-20240723124916307

5. Покупатели поблизости

При нажатии на раздел "Покупатели поблизости" на главной странице, пользователь попадает на страницу со списком покупателей. На этой странице можно просмотреть адреса и контактные данные покупателей, расположенных рядом с учебным заведением.

image-20240723125012680

6. Страница уведомлений

На вкладке "Уведомления" в нижней панели навигации пользователь может просмотреть информацию о лайках и комментариях, оставленных другими пользователями. При нажатии на уведомление, пользователь переходит к деталям поста.image-20240723125110144

7. Пользователи

7.1 Создание пользователя

При открытии мини-приложения, система автоматически проверяет, существует ли открытый идентификатор пользователя (openid) в базе данных. Если нет, то пользователь создается автоматически с использованием стандартной информации, что упрощает процесс регистрации и улучшает пользовательский опыт.

7.2 Изменение информации пользователя

Пользователь может перейти в раздел "Мои данные", нажав на свой аватар или никнейм, и изменить свои данные. Автоматически созданный никнейм пользователя — "Нажмите для изменения данных пользователя", что также служит напоминанием о том, как изменить информацию о пользователе.

image-20240723125421377

image-20240723125427917

7.3 Подписки и подписчики

Пользователь может просмотреть разделы "Подписки" и "Подписчики" на странице "Мои данные".

image-20240723125500529

image-20240723125512020

На странице "Подписки" пользователь может отменить подписку, нажав на кнопку "Отменить подписку". Также можно отменить подписку на странице профиля подписчика.

image-20240723125556367Пользователь также может подписаться на других пользователей на их странице профиля.

image-20240723125620118

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/sic096-school-circle.git
git@api.gitlife.ru:oschina-mirror/sic096-school-circle.git
oschina-mirror
sic096-school-circle
sic096-school-circle
master