From 6138830d226b1f1d55ebbbb5d758a5dd122f11d7 Mon Sep 17 00:00:00 2001 From: Linuxiness Date: Sat, 11 Nov 2023 22:00:37 +0100 Subject: [PATCH] new models --- .../__pycache__/settings.cpython-311.pyc | Bin 3057 -> 3109 bytes .../__pycache__/urls.cpython-311.pyc | Bin 1200 -> 1200 bytes backend/animanga_project/settings.py | 6 +- backend/animanga_project/urls.py | 1 + .../api/__pycache__/models.cpython-311.pyc | Bin 870 -> 1556 bytes .../__pycache__/serializers.cpython-311.pyc | Bin 861 -> 989 bytes backend/api/__pycache__/urls.cpython-311.pyc | Bin 524 -> 524 bytes backend/api/__pycache__/views.cpython-311.pyc | Bin 1108 -> 1108 bytes ..._season_anime_background_image_and_more.py | 72 ++++++++++++++++++ ..._background_image_and_more.cpython-311.pyc | Bin 0 -> 2311 bytes backend/api/models.py | 24 +++++- backend/api/serializers.py | 2 +- backend/api/templates/api/show_image.html | 2 + backend/api/views.py | 10 +++ backend/db.sqlite3 | Bin 135168 -> 135168 bytes backend/images/images/download.jpeg | Bin 0 -> 11031 bytes backend/images/images/download_t3tAWrh.jpeg | Bin 0 -> 11031 bytes backend/requirements.txt | 1 + 18 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 backend/api/migrations/0002_remove_anime_season_anime_background_image_and_more.py create mode 100644 backend/api/migrations/__pycache__/0002_remove_anime_season_anime_background_image_and_more.cpython-311.pyc create mode 100644 backend/api/templates/api/show_image.html create mode 100644 backend/images/images/download.jpeg create mode 100644 backend/images/images/download_t3tAWrh.jpeg diff --git a/backend/animanga_project/__pycache__/settings.cpython-311.pyc b/backend/animanga_project/__pycache__/settings.cpython-311.pyc index 320d1b8cfae8c733ab164556e682fccf08747374..e265bd56b0cf17e788cdec0261b96c7193e55bc2 100644 GIT binary patch delta 129 zcmew;zEpyDIWI340}yb&@=vXt$ScWcw^7}Ukyjx~Hbo&yE`>RmK~r&a5~DFYcNKeP zZen_BvA(AK=II;}jN-Srd|h2U9pi)i{X=eXLfD}}K9k>b7I7H^jbsGk;;zlvT(yj% WANUyf#2dJ7aEml>f?$y$P!a%!d?7;s delta 76 zcmZ1~@ll+2IWI340}x0Z_fPen$ScWcwo%=Tk(D`^K~rIK7NapclcwzE6&w+alf}7; bxD0_R8G*RCZu4ZWT1L(Wz6QP`eV_mUmBkQZ diff --git a/backend/animanga_project/__pycache__/urls.cpython-311.pyc b/backend/animanga_project/__pycache__/urls.cpython-311.pyc index 103521aa23f1a43f9c2feb9d06329809b4e90d16..6db12d902a2eb57f4f2dc353e28d56fa25ae7c24 100644 GIT binary patch delta 19 ZcmdnMxq*{wIWI340}wbq-^jI$1pqIr1l0fl delta 19 ZcmdnMxq*{wIWI340}x0Z-^jI$1pqD~1dadz diff --git a/backend/animanga_project/settings.py b/backend/animanga_project/settings.py index c4e98e94..45ae4241 100644 --- a/backend/animanga_project/settings.py +++ b/backend/animanga_project/settings.py @@ -139,4 +139,8 @@ 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.AllowAny', ] -} \ No newline at end of file +} + + +MEDIA_ROOT = 'images/' +MEDIA_URL= 'images/' \ No newline at end of file diff --git a/backend/animanga_project/urls.py b/backend/animanga_project/urls.py index 2b90087a..5a45067f 100644 --- a/backend/animanga_project/urls.py +++ b/backend/animanga_project/urls.py @@ -17,6 +17,7 @@ from django.contrib import admin from django.urls import path,include + urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('api.urls')), diff --git a/backend/api/__pycache__/models.cpython-311.pyc b/backend/api/__pycache__/models.cpython-311.pyc index cd42172c3735cb8cdd58a00ed9e8402500075beb..a38587acb1a826596820dfa36b503baef8e7be68 100644 GIT binary patch literal 1556 zcma)6yKmb@7(ePQg%nN2iQ2$MVnawHzvvhlIutdECQhT)$xtJMmcvDNlBw{a9w{RU zGH}SCA%nN9nOqh2;6I^%0ts+1ZW7Qg*<83wJ>`y+-8MGtd=fu?j~~C+edMo-QUaX* z`11+*C&lkVIic)WIQp6k?*Il^GJz#EB?+X!Lx59n08SIB%b!bVCk?UTTN?clni2GaDmvCpu2= zWj;aVV?^NsL@`Fh?F-a7F|J&SkYj}MZx)>0%kA)i?4Ay#S^f-+8e=Z1b|OYx)UkFc zqVh?W{F$j;y)?!oF1!KFYdFo1w#c&I*@i_v9P@irfGHIGRf^-YiE z3=4ILTTfBZAuINKrh_o_94e;NIz3jd2w7~<(FAAjz-!Ru_k?&tNrcUMhG!BkWL#pl zUGc=N<0ty2V-elxI8?vywE7mYJy%D(I%Idy7NIV=)uT?AJV&0+i(VJzr^2j1L#^k; z#yaX5da|NRy_YNxq3clyUny~mOJjAKXLH5Q_~1aj`u0^&`0_}USHI2*5ZcHh5V8`4 zJW$^hvJBxbePkvcDq3U3?>7-$Gl+?)9P1n8g%|5A+aWe3Onzj0q(c%A%ew@*j_tDI zedLh@SaLl?J&3u16?pZDRC*)^Jq{HQolS`LI@IZNOkye7eG58m*hX9I3MOug8a>Z& zY?gDqJ~kX4uV=XYU3FRMr3XEV43ki*@=|{TRGbSf3no4fF%vJUTjS^8pZ*Tysli$# zPYu(7yb#I@k-XqPI5EE82;{j?o{Qu;|G}s{GiXQUnPDv`>tR`s%DVq>q|Iz!k2GP_ z^ib0yP4^oI>dnDcq~0860(CJ|7bA7i|6wFgi$v4!@&0BYuZHq!B(L&R)jQi;QT5LL zq;a#3bMNoIat5id|?B|{M(kSgK<5v(u* z zH!-fLmjEhmfWsRCq8+R^1PwaaK(I&{C|M*5B>Xg4ig-aBJ`lkV6D|@0vB0WCKrD6` z!2)Cy+W-lK(I1$YSPefgpb>IF{zs7D7jzk*Sds8#7G@V^R7-ww*yQG?l;)(`6-fdu iU0#ko&dbZi00hpjHgYjB0RSk%1L6Px delta 19 ZcmeBS>0#ko&dbZi00dIUH*zsC0RSf*1C{^) diff --git a/backend/api/__pycache__/views.cpython-311.pyc b/backend/api/__pycache__/views.cpython-311.pyc index 763bd01865edf651d076cbfeec77ef01071e88f0..6a4ece9140987a66302e22c4153fed32fc16782f 100644 GIT binary patch delta 41 wcmcb@afO3-IWI340}woa>7Tl9BQF~hqrhYlrlX8vn{P1*F)|8Ge#@K=0Qn;e&Hw-a delta 41 wcmcb@afO3-IWI340}wEu@K0U8k(Z5$k#n*L(@{qL&9|6@7#Ue6zhzDb0NOYTo&W#< diff --git a/backend/api/migrations/0002_remove_anime_season_anime_background_image_and_more.py b/backend/api/migrations/0002_remove_anime_season_anime_background_image_and_more.py new file mode 100644 index 00000000..3954aaef --- /dev/null +++ b/backend/api/migrations/0002_remove_anime_season_anime_background_image_and_more.py @@ -0,0 +1,72 @@ +# Generated by Django 4.2.7 on 2023-11-11 19:48 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='anime', + name='season', + ), + migrations.AddField( + model_name='anime', + name='background_image', + field=models.ImageField(default=None, upload_to=''), + ), + migrations.AddField( + model_name='anime', + name='end_date', + field=models.DateField(default=None), + ), + migrations.AddField( + model_name='anime', + name='episodes', + field=models.IntegerField(default=0), + ), + migrations.AddField( + model_name='anime', + name='genre', + field=models.TextField(default=None), + ), + migrations.AddField( + model_name='anime', + name='image', + field=models.ImageField(default=None, upload_to=''), + ), + migrations.AddField( + model_name='anime', + name='num_of_fav', + field=models.IntegerField(default=None), + ), + migrations.AddField( + model_name='anime', + name='seasons', + field=models.IntegerField(default=None), + ), + migrations.AddField( + model_name='anime', + name='start_date', + field=models.DateField(default=None), + ), + migrations.AddField( + model_name='anime', + name='studio', + field=models.TextField(default=None), + ), + migrations.AddField( + model_name='anime', + name='yt_trailer', + field=models.TextField(default=None), + ), + migrations.AlterField( + model_name='anime', + name='description', + field=models.TextField(default=None), + ), + ] diff --git a/backend/api/migrations/__pycache__/0002_remove_anime_season_anime_background_image_and_more.cpython-311.pyc b/backend/api/migrations/__pycache__/0002_remove_anime_season_anime_background_image_and_more.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3df4517096a6fd78fa55ad6ff7ddbd0d4c2f6199 GIT binary patch literal 2311 zcmbtVOK%iM5bmDYo!uF)!3>7*2nJz5Y=oEv=V)OWSwuvEND1Pwm!{cnPi8%jrDxWH zn-3f~aNx#2FplCMz|XLyJ*@i5DavJ#ed3hro?Y`wz=L~sYOAZdzN)V3>UlLe=^z-d zWIU=PW@jFlmxv*TLlogQj*PZ}k%4|f%y^2J$#K^l8?6KP*WRpcvdZtM zS^Zn7n}&3vz!x+Nk~o!ClrSEqow23*cSn<*X@Gc%IBH{t+6KcuZkq<;mF_qwaLvrk z%DMsW;4Ow;VU1_7q6(5)x4tK_SZ%ZZvCXFaamb%xI2yx#kFhzij=?Lu#rP^hLnG)! zD+@MR8sU&em>4-k%qop=SR))P6H}k;qkI%c4vgSxgo9M$s75$QE~mcf2 z;5XWn%z{=rF6}$x9)gB4X)lnCR;zW51aXiBG?Y~u2N9Q6%4wR!y6IG-k(h$CqUqE_ z+F9{M(vKMlBI@(IQgvsI@nzZ%GimpGVL}^N_3)9X%n^Aq1|Ce#n7u5b~%`L$xC{W4s4}@wgK}AnFE^6Tk5&S>?Bi zs23U2oTwD9Y90xo_l{J z5%&T=5#CbL=|?=yQcqQa#y(x;BIW0LBI)uKnt6+Ha7T&nE3v0)0fBo^N$>sj=s``d z6QMUibVW&#ywT*-3WAtHY6QR9dm_{osEK0I6{yPE-jiF%K9`%uw6*q2?jZZ@GiOkr z8Gbi2JaRIxnzr*60ohd~uOs_=r9Q3IvqN|G#ifBeyRr28=9as#?Jf-5g}hc#Hb8b2 zQIH?loF2O8mCgB$AGh4rw%Z!Gt*=^KR2COE=sqn@l=cA@rFU{>=#JuITkhPpJ2!CW zzPyuDr7gfm$!wi0ZLv=uGpg=qblqq6;UmHGuC?~FdPH-4`tCL>(q>&a>d961Q1_&6 zzT$jdR?GC-AAoyTpD!BwhPVP#^>Ixf0Le{^F`QZ4+(MT>|K-+AjIA8~H+|s@rY^kI L%H982q9gbhx^5mt literal 0 HcmV?d00001 diff --git a/backend/api/models.py b/backend/api/models.py index 416c4d9b..200369c7 100644 --- a/backend/api/models.py +++ b/backend/api/models.py @@ -3,8 +3,28 @@ # Create your models here. class Anime(models.Model): title = models.CharField(max_length=250) - season = models.CharField(max_length=250) - description = models.CharField(max_length=100) + genre = models.TextField(default=None) + + seasons = models.IntegerField(default=None) + + start_date = models.DateField(default=None) + end_date = models.DateField(default=None) + + image = models.ImageField(default=None, upload_to='images') + background_image = models.ImageField(default=None, upload_to='images') + + num_of_fav = models.IntegerField(default=None) + + description = models.TextField(default=None) + + studio = models.TextField(default=None) + + episodes = models.IntegerField(default=0) + + yt_trailer = models.TextField(default=None) + + + def __str__(self): return self.title \ No newline at end of file diff --git a/backend/api/serializers.py b/backend/api/serializers.py index 4cc87389..178e9499 100644 --- a/backend/api/serializers.py +++ b/backend/api/serializers.py @@ -4,4 +4,4 @@ class AnimeSerializer(serializers.ModelSerializer): class Meta: model = Anime - fields = ('id', 'title', 'description',) \ No newline at end of file + fields = ('id', 'title','genre', 'seasons','start_date', 'end_date', 'image','background_image','num_of_fav','description', 'studio', 'episodes', 'yt_trailer', ) \ No newline at end of file diff --git a/backend/api/templates/api/show_image.html b/backend/api/templates/api/show_image.html new file mode 100644 index 00000000..1433e881 --- /dev/null +++ b/backend/api/templates/api/show_image.html @@ -0,0 +1,2 @@ +{% load static %} + \ No newline at end of file diff --git a/backend/api/views.py b/backend/api/views.py index 7dee1ba8..ddd2a077 100644 --- a/backend/api/views.py +++ b/backend/api/views.py @@ -6,6 +6,13 @@ from .models import Anime from .serializers import AnimeSerializer + + + + + + + class DetailAnime(generics.RetrieveUpdateDestroyAPIView): queryset = Anime.objects.all() serializer_class = AnimeSerializer @@ -16,3 +23,6 @@ class ListAnime(generics.ListCreateAPIView): queryset = Anime.objects.all() serializer_class = AnimeSerializer + + + diff --git a/backend/db.sqlite3 b/backend/db.sqlite3 index 22fc62937f75b035e3d075d0382c9791adfc189f..de1771035287c49598de707e1fc4061bcc02b684 100644 GIT binary patch delta 3014 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 diff --git a/backend/images/images/download.jpeg b/backend/images/images/download.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9a69f2f6354342e8ec7c329ba1ddb6e9c11633e8 GIT binary patch literal 11031 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