большой рефакторинг

This commit is contained in:
Mike0001-droid 2024-06-13 11:19:53 +05:00
parent b987783d15
commit dd49e644d4
31 changed files with 43 additions and 48 deletions

View File

@ -20,9 +20,19 @@ class Song(models.Model):
def __str__(self):
return f"{self.artist} - {self.title}"
class Meta:
verbose_name = 'Треки'
verbose_name_plural = 'Треки'
class FavoriteSong(models.Model):
song = models.ForeignKey(Song, verbose_name='Трек', on_delete=models.CASCADE, null=True, blank=True)
user = models.ForeignKey(MyUser, verbose_name='Пользователь', on_delete=models.CASCADE, blank=True, null=True)
def __str__(self):
return f"{self.song.title}"
class Meta:
verbose_name = 'Избранные Треки'
unique_together = ('song', 'user')
verbose_name_plural = 'Избранные Треки'

View File

@ -6,7 +6,7 @@ ALLOWED_HOSTS = ['*']
# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
DATABASES = {
""" DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'it_radio',
@ -15,6 +15,12 @@ DATABASES = {
'HOST': 'localhost',
'PORT': '5433',
},
} """
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
REST_FRAMEWORK['DEFAULT_PERMISSION_CLASSES'] = ('rest_framework.permissions.AllowAny',)

View File

@ -7,7 +7,6 @@ from rest_framework_simplejwt.views import (
TokenVerifyView,
)
from django.conf.urls.static import static
from news import views as newsViews
from rest_framework import routers
from userProfile.views import TeamViewSet
from django.conf import settings
@ -17,7 +16,6 @@ from audio.views import SongViewSet
router = routers.DefaultRouter()
router.register(r'news', newsViews.NewsViewSet)
router.register(r'teams', TeamViewSet, basename='teams')
router.register(r'rubriks', RubricViewSet, basename='rubriks')
router.register(r'song', SongViewSet, basename='song')

View File

@ -1,6 +0,0 @@
from django.contrib import admin
from .models import ConfigSite
@admin.register(ConfigSite)
class ConfigSiteAdmin(admin.ModelAdmin):
list_display = ('id', 'social_name', 'social_url')

View File

@ -1,12 +1,13 @@
from django.db import models
class ConfigSite(models.Model):
social_name = models.CharField('Название социальной сети', max_length=100)
social_url = models.CharField('Социальная сеть', max_length=100)
def __str__(self):
return self.social_name
class Page(models.Model):
name = models.CharField('Название страницы', max_length=50)
title_1 = models.TextField('Главный заголовок на странице', null=True, blank=True, max_length=300)
title_2 = models.TextField('Второй заголовок на странице', null=True, blank=True, max_length=300)
title_3 = models.TextField('Третий заголовок на странице', null=True, blank=True, max_length=300)
video = models.FileField('Видео', upload_to='videos/', null=True, blank=True)
img = models.ImageField('Изображение', blank=True, null=True, upload_to="images/")
title_4 = models.TextField('Заголовок "Поддержи нас" ', null=True, blank=True, max_length=200)
class Meta:
verbose_name = 'Настройки сайта'
verbose_name_plural = 'Настройки сайта'
def __str__(self):
return self.name

View File

View File

@ -1,3 +1,11 @@
from django.shortcuts import render
from rest_framework.viewsets import ViewSet, GenericViewSet
from rest_framework.response import Response
from rest_framework.decorators import action
from rest_framework import status
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
from django.shortcuts import get_object_or_404, get_list_or_404
from rest_framework.permissions import IsAuthenticated
import requests
from .models import Page
# Create your views here.

View File

@ -1,8 +0,0 @@
from django.contrib import admin
from .models import News
class NewsAdmin(admin.ModelAdmin):
list_display = ('name', 'date') # поля, которые будут отображаться
ordering = ('-date',) # сортировка по дате в обратном порядке
admin.site.register(News, NewsAdmin)

View File

@ -1,8 +1,8 @@
from django.db import models
from django.utils import timezone
class News(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
date = models.DateTimeField(blank=True)
author = models.CharField(max_length=255, blank=True)
class HistoryRadio(models.Model):
description = models.CharField('Описание события кратко', max_length=50)
date = models.DateField('Дата события', default=timezone.now, null=True)
def __str__(self):
return f"{self.date}: {self.description}"

View File

@ -1,7 +0,0 @@
from rest_framework import serializers
from .models import News
class NewsSerializer(serializers.ModelSerializer):
class Meta:
model = News
fields = ['id', 'name', 'description', 'date', 'author']

View File

@ -1,8 +1 @@
from rest_framework import viewsets
from .models import News
from news.serializers import NewsSerializer
class NewsViewSet(viewsets.ModelViewSet):
queryset = News.objects.all()
serializer_class = NewsSerializer
from .models import HistoryRadio