user comment save
This commit is contained in:
@@ -0,0 +1,50 @@
|
|||||||
|
from django.contrib import admin
|
||||||
|
from import_export.admin import ImportExportActionModelAdmin
|
||||||
|
from unfold.admin import ModelAdmin
|
||||||
|
from .models import *
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(Dare)
|
||||||
|
class Dare(ModelAdmin):
|
||||||
|
list_display = ['lang1', 'is_for_adults']
|
||||||
|
list_filter = ['is_for_adults']
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(Truth)
|
||||||
|
class Truth(ModelAdmin):
|
||||||
|
list_display = ['lang1', 'is_for_adults']
|
||||||
|
list_filter = ['is_for_adults']
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(Would_you_rather)
|
||||||
|
class Would_you_rather(ModelAdmin):
|
||||||
|
list_display = ['lang1', 'is_for_adults']
|
||||||
|
list_filter = ['is_for_adults']
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(challenge)
|
||||||
|
class Challenge(ModelAdmin):
|
||||||
|
list_display = ['type']
|
||||||
|
|
||||||
|
@admin.register(abjad)
|
||||||
|
class abjad(ModelAdmin):
|
||||||
|
list_display = ['word', 'difficulty_type', 'answer']
|
||||||
|
list_filter = ['difficulty_type']
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(MusicModel)
|
||||||
|
class MusicAdmin(ModelAdmin):
|
||||||
|
list_display = ['name', 'message_id', 'singer', 'category', 'trand']
|
||||||
|
|
||||||
|
@admin.register(MovieModel)
|
||||||
|
class MovieAdmin(ModelAdmin):
|
||||||
|
list_display = ['name', 'message_id', 'category', 'receommended']
|
||||||
|
|
||||||
|
@admin.register(MovieCategory)
|
||||||
|
class MovieCategoryAdmin(ModelAdmin):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@admin.register(MusicCategory)
|
||||||
|
class MusicCategoryAdmin(ModelAdmin):
|
||||||
|
pass
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class EntertainmentConfig(AppConfig):
|
||||||
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
|
name = 'entertainment'
|
||||||
|
verbose_name = 'بخش سرگرمی ها'
|
||||||
@@ -0,0 +1,142 @@
|
|||||||
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
|
class BaseModel(models.Model):
|
||||||
|
lang1 = models.CharField(max_length=200, verbose_name='فارسی')
|
||||||
|
is_for_adults = models.BooleanField(verbose_name='+18 سوال')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
abstract = True
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.lang1
|
||||||
|
|
||||||
|
async def get(self, *attrs):
|
||||||
|
if len(attrs) == 1:
|
||||||
|
return getattr(self, attrs[0], None)
|
||||||
|
else:
|
||||||
|
return tuple(getattr(self, attr, None) for attr in attrs)
|
||||||
|
|
||||||
|
|
||||||
|
class Dare(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'شجاعت'
|
||||||
|
verbose_name_plural = 'شجاعت ها'
|
||||||
|
|
||||||
|
|
||||||
|
class Truth(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'حقیقت'
|
||||||
|
verbose_name_plural = "حقیقت ها"
|
||||||
|
|
||||||
|
|
||||||
|
class Would_you_rather(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'ترجیح میدی'
|
||||||
|
verbose_name_plural = "ترجیح میدی ها"
|
||||||
|
|
||||||
|
|
||||||
|
class challenge(models.Model):
|
||||||
|
challenge_type = (
|
||||||
|
('map', 'نقشه ی گنج'),
|
||||||
|
('prize', 'جوایز')
|
||||||
|
)
|
||||||
|
type = models.CharField(max_length=30, choices=challenge_type, verbose_name='نوع چالش', primary_key=True)
|
||||||
|
image = models.ImageField(upload_to='media/', verbose_name='عکس')
|
||||||
|
link = models.URLField(verbose_name='لینک')
|
||||||
|
text = models.TextField(verbose_name='متن توضیحات')
|
||||||
|
button_text = models.CharField(max_length=40, verbose_name='متن دکمه')
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f'{self.type} - {self.text[0:50]}'
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'چالش'
|
||||||
|
verbose_name_plural = 'چالش ها'
|
||||||
|
|
||||||
|
class abjad(models.Model):
|
||||||
|
word = models.TextField(verbose_name='صورت ی سوال')
|
||||||
|
difficulty = (
|
||||||
|
('hard', 'سخت'),
|
||||||
|
('normal', 'متوسط'),
|
||||||
|
('easy', 'اسون')
|
||||||
|
)
|
||||||
|
image = models.ImageField(upload_to='media/', verbose_name='عکس بازی افتابه', blank=True, null=True)
|
||||||
|
difficulty_type = models.CharField(max_length=13, choices=difficulty, verbose_name='سختی')
|
||||||
|
answer = models.CharField(max_length=30, verbose_name='جواب')
|
||||||
|
option2 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True)
|
||||||
|
option3 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True)
|
||||||
|
option4 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True)
|
||||||
|
def __str__(self):
|
||||||
|
return f'{self.word}'
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'سوال ابجد'
|
||||||
|
verbose_name_plural = 'سوالات ابجد'
|
||||||
|
async def get(self, *attrs):
|
||||||
|
if len(attrs) == 1:
|
||||||
|
return getattr(self, attrs[0], None)
|
||||||
|
else:
|
||||||
|
return tuple(getattr(self, attr, None) for attr in attrs)
|
||||||
|
|
||||||
|
GAME_DATA = {
|
||||||
|
Dare: {
|
||||||
|
'button': 'dare',
|
||||||
|
'game_name': 'شجاعت'
|
||||||
|
},
|
||||||
|
Truth: {
|
||||||
|
'button': 'truth',
|
||||||
|
'game_name': 'حقیقت'
|
||||||
|
},
|
||||||
|
Would_you_rather: {
|
||||||
|
'button': 'wyr',
|
||||||
|
'game_name': 'ترجیح میدی'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
|
class MusicCategory(models.Model):
|
||||||
|
name = models.CharField(max_length=40, verbose_name='نام دسته بندی')
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'دسته بندی موزیک'
|
||||||
|
verbose_name_plural = 'دسته بندی موزیک ها'
|
||||||
|
|
||||||
|
class MovieCategory(models.Model):
|
||||||
|
name = models.CharField(max_length=40, verbose_name='نام دسته بندی')
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'دسته بندی قیلم'
|
||||||
|
verbose_name_plural = 'دسته بندی فیلم ها'
|
||||||
|
|
||||||
|
|
||||||
|
class UploadParent(models.Model):
|
||||||
|
name = models.CharField(max_length=300, verbose_name='نام')
|
||||||
|
message_id = models.CharField(max_length=40, verbose_name='ای دی پیام تلگرام')
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
class MusicModel(UploadParent):
|
||||||
|
lyric = models.CharField(verbose_name='متن اهنگ', max_length=4000, blank=True, null=True)
|
||||||
|
singer = models.CharField(max_length=300, verbose_name='خواننده', blank=True, null=True)
|
||||||
|
category = models.ForeignKey(MusicCategory, on_delete=models.CASCADE, verbose_name='دسته بندی', blank=True, null=True)
|
||||||
|
trand = models.BooleanField(default=False, verbose_name='ترند')
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'مدل اهنگ'
|
||||||
|
verbose_name_plural = 'مدل اهنگ ها'
|
||||||
|
|
||||||
|
|
||||||
|
class MovieModel(UploadParent):
|
||||||
|
description = models.CharField(max_length=4000,verbose_name='توضیحات فیلم', blank=True, null=True)
|
||||||
|
category = models.ForeignKey(MovieCategory, on_delete=models.CASCADE, verbose_name='دسته بندی', blank=True, null=True)
|
||||||
|
receommended = models.BooleanField(default=False, verbose_name='پیشنهادی')
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'مدل فیلم'
|
||||||
|
verbose_name_plural = 'مدل فیلم ها'
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
# Create your tests here.
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
from django.shortcuts import render
|
||||||
|
|
||||||
|
# Create your views here.
|
||||||
Reference in New Issue
Block a user