128 lines
3.8 KiB
Markdown
128 lines
3.8 KiB
Markdown
|
|
# Unio Auto
|
|||
|
|
|
|||
|
|
### Описание
|
|||
|
|
Union Auto
|
|||
|
|
|
|||
|
|
### Технологии
|
|||
|
|
Python 3.9
|
|||
|
|
Django 4.2
|
|||
|
|
|
|||
|
|
### Запуск проекта
|
|||
|
|
|
|||
|
|
- Клонируйте репозиторий
|
|||
|
|
```
|
|||
|
|
$ git clone https://git.vanger.org/Vangerrf/415_unionauto
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- Перейдите в директорию проекта
|
|||
|
|
```
|
|||
|
|
$ cd 415_unionauto
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- Установите Python 3.9 (все последующие команды выполняются в папке с проектом)
|
|||
|
|
|
|||
|
|
- Установите и активируйте виртуальное окружение
|
|||
|
|
```
|
|||
|
|
Для Windows
|
|||
|
|
|
|||
|
|
$ python -m venv venv
|
|||
|
|
$ venv/Scripts/activate
|
|||
|
|
|
|||
|
|
Для Linux/MacOS
|
|||
|
|
|
|||
|
|
$ python3 -m venv venv
|
|||
|
|
$ source venv/bin/activate
|
|||
|
|
```
|
|||
|
|
- Обновите систему управления пакетами и установите зависимости
|
|||
|
|
```
|
|||
|
|
$ pip install --upgrade pip
|
|||
|
|
|
|||
|
|
$ pip install -r requirements.txt
|
|||
|
|
```
|
|||
|
|
- Создайте базу данных MySQL
|
|||
|
|
- Создайте файл local_settings.py в папке union_auto и добавьте в него
|
|||
|
|
```
|
|||
|
|
DATABASES = {
|
|||
|
|
'default': {
|
|||
|
|
'ENGINE': 'django.db.backends.mysql',
|
|||
|
|
'NAME': '<MYSQL_DATABASE>',
|
|||
|
|
'USER': '<MYSQL_USER>',
|
|||
|
|
'PASSWORD': '<MYSQL_PASSWORD>',
|
|||
|
|
'HOST': '<MYSQL_HOST>',
|
|||
|
|
'PORT': <MYSQL_PORT>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
# настройки e-mail уведомлений (формы)
|
|||
|
|
SUBJECT = 'Union auto'
|
|||
|
|
RECOVERY_SUBJECT = 'Union Auto'
|
|||
|
|
EMAIL_NOTIFICATIONS_ENABLED = True
|
|||
|
|
EMAIL_HOST_USER = 'example_host@ex_mail.ru'
|
|||
|
|
EMAIL_RECIPIENT = ['example_recipient1@ex_mail.ru']
|
|||
|
|
|
|||
|
|
# телеграмм уведомления (форма)
|
|||
|
|
TELEGRAM_NOTIFICATIONS_ENABLED = True
|
|||
|
|
TELEGRAM_ACCESS_TOKEN = ''
|
|||
|
|
TELEGRAM_CHAT_ID_FEEDBACK = ''
|
|||
|
|
|
|||
|
|
# настройки api для доступа к лотам аукционов
|
|||
|
|
API_IP = ''
|
|||
|
|
API_KEY = ''
|
|||
|
|
AUCTION_ENDPOINT = f'http://78.46.90.228/api/?json&ip={API_IP}&code={API_KEY}&sql='
|
|||
|
|
MACHINERY_ENDPOINT = f'http://144.76.203.145/api/?json&ip={API_IP}&code={API_KEY}&sql='
|
|||
|
|
|
|||
|
|
# ключ для получение актуальных курсов валют (exchangerate-api.com)
|
|||
|
|
RATE_API_KEY = '6d19e60e8a772352c97c1136'
|
|||
|
|
|
|||
|
|
# вебхук для добавления лидов в битрикс24
|
|||
|
|
BITRIX = ''
|
|||
|
|
|
|||
|
|
# токен vk с доступом к видео
|
|||
|
|
VK_TOKEN = ''
|
|||
|
|
|
|||
|
|
# домен для генерации фидов (без / в конце)
|
|||
|
|
DOMAIN = 'http://127.0.0.1:8000'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- В папке с файлом manage.py выполните миграции
|
|||
|
|
```
|
|||
|
|
python manage.py migrate
|
|||
|
|
```
|
|||
|
|
- Создайте суперюзера
|
|||
|
|
```
|
|||
|
|
python manage.py createsuperuser
|
|||
|
|
```
|
|||
|
|
- Запуск сервера
|
|||
|
|
```
|
|||
|
|
python manage.py runserver
|
|||
|
|
```
|
|||
|
|
- Панель администратора доступна по адресу
|
|||
|
|
```
|
|||
|
|
/admin
|
|||
|
|
```
|
|||
|
|
- Для получения токена в вк на место CLIENT_ID вставить id созданного приложения, вставить ссылку в адресную строку браузера, после авторизации скопировать параметр **access_token**
|
|||
|
|
```
|
|||
|
|
https://oauth.vk.com/authorize?client_id=CLIENT_ID&scope=video,offline&response_type=token&v=5.92
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Настройка скриптов
|
|||
|
|
- Для обновления курсов валют настроить запуск скрипта раз в день:
|
|||
|
|
```
|
|||
|
|
python3 manage.py update_rates
|
|||
|
|
```
|
|||
|
|
- При первом запуске выполнить
|
|||
|
|
```
|
|||
|
|
python3 manage.py get_brands
|
|||
|
|
python3 manage.py sort_brands # после выполнения предыдущего скрипта
|
|||
|
|
```
|
|||
|
|
- Далее настроить для выполнения раз в сутки/3 суток/5 суток:
|
|||
|
|
```
|
|||
|
|
python3 manage.py get_brands
|
|||
|
|
```
|
|||
|
|
- Для обновления лотов настроить запуск скрипта раз в день:
|
|||
|
|
```
|
|||
|
|
python3 manage.py get_lots
|
|||
|
|
```
|
|||
|
|
|