большой рефакторинг
This commit is contained in:
parent
b987783d15
commit
dd49e644d4
|
|
@ -21,8 +21,18 @@ 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 = 'Избранные Треки'
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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',)
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
@ -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)
|
||||
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)
|
||||
|
||||
def __str__(self):
|
||||
return self.social_name
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Настройки сайта'
|
||||
verbose_name_plural = 'Настройки сайта'
|
||||
return self.name
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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}"
|
||||
|
|
|
|||
|
|
@ -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']
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue