From 8a7269e5912fab49de46847f868dfd9868a0d33b Mon Sep 17 00:00:00 2001 From: Michael Vignotto Date: Fri, 22 May 2020 14:05:33 +0200 Subject: [PATCH] Fist Commit --- BoxTitoli/__init__.py | 0 BoxTitoli/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 160 bytes BoxTitoli/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 154 bytes BoxTitoli/__pycache__/settings.cpython-37.pyc | Bin 0 -> 2476 bytes BoxTitoli/__pycache__/settings.cpython-38.pyc | Bin 0 -> 2454 bytes BoxTitoli/__pycache__/urls.cpython-37.pyc | Bin 0 -> 1115 bytes BoxTitoli/__pycache__/urls.cpython-38.pyc | Bin 0 -> 1113 bytes BoxTitoli/__pycache__/wsgi.cpython-37.pyc | Bin 0 -> 567 bytes BoxTitoli/__pycache__/wsgi.cpython-38.pyc | Bin 0 -> 561 bytes BoxTitoli/asgi.py | 16 +++ BoxTitoli/settings.py | 132 ++++++++++++++++++ BoxTitoli/urls.py | 23 +++ BoxTitoli/wsgi.py | 16 +++ manage.py | 21 +++ random_id/__init__.py | 0 random_id/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 160 bytes random_id/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 154 bytes random_id/__pycache__/utils.cpython-37.pyc | Bin 0 -> 633 bytes random_id/__pycache__/utils.cpython-38.pyc | Bin 0 -> 631 bytes random_id/utils.py | 8 ++ templates/Homepage.html | 45 ++++++ templates/base.html | 25 ++++ templates/crea_titolo.html | 16 +++ templates/streaming.html | 29 ++++ titoli/__init__.py | 1 + titoli/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 204 bytes titoli/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 198 bytes titoli/__pycache__/admin.cpython-37.pyc | Bin 0 -> 270 bytes titoli/__pycache__/admin.cpython-38.pyc | Bin 0 -> 264 bytes titoli/__pycache__/apps.cpython-37.pyc | Bin 0 -> 518 bytes titoli/__pycache__/apps.cpython-38.pyc | Bin 0 -> 520 bytes titoli/__pycache__/forms.cpython-37.pyc | Bin 0 -> 570 bytes titoli/__pycache__/forms.cpython-38.pyc | Bin 0 -> 577 bytes titoli/__pycache__/models.cpython-37.pyc | Bin 0 -> 1110 bytes titoli/__pycache__/models.cpython-38.pyc | Bin 0 -> 1056 bytes titoli/__pycache__/signals.cpython-37.pyc | Bin 0 -> 565 bytes titoli/__pycache__/signals.cpython-38.pyc | Bin 0 -> 570 bytes titoli/__pycache__/urls.cpython-37.pyc | Bin 0 -> 420 bytes titoli/__pycache__/urls.cpython-38.pyc | Bin 0 -> 421 bytes titoli/__pycache__/views.cpython-37.pyc | Bin 0 -> 1085 bytes titoli/__pycache__/views.cpython-38.pyc | Bin 0 -> 1079 bytes titoli/admin.py | 6 + titoli/apps.py | 8 ++ titoli/forms.py | 9 ++ titoli/migrations/0001_initial.py | 28 ++++ titoli/migrations/0002_auto_20200516_1742.py | 17 +++ titoli/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-37.pyc | Bin 0 -> 794 bytes .../__pycache__/0001_initial.cpython-38.pyc | Bin 0 -> 800 bytes .../0002_auto_20200516_1742.cpython-37.pyc | Bin 0 -> 587 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 168 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 162 bytes titoli/models.py | 28 ++++ titoli/models_backup.py | 20 +++ titoli/signals.py | 11 ++ titoli/tests.py | 3 + titoli/urls.py | 8 ++ titoli/views.py | 28 ++++ 58 files changed, 498 insertions(+) create mode 100755 BoxTitoli/__init__.py create mode 100644 BoxTitoli/__pycache__/__init__.cpython-37.pyc create mode 100755 BoxTitoli/__pycache__/__init__.cpython-38.pyc create mode 100644 BoxTitoli/__pycache__/settings.cpython-37.pyc create mode 100755 BoxTitoli/__pycache__/settings.cpython-38.pyc create mode 100644 BoxTitoli/__pycache__/urls.cpython-37.pyc create mode 100755 BoxTitoli/__pycache__/urls.cpython-38.pyc create mode 100644 BoxTitoli/__pycache__/wsgi.cpython-37.pyc create mode 100755 BoxTitoli/__pycache__/wsgi.cpython-38.pyc create mode 100755 BoxTitoli/asgi.py create mode 100755 BoxTitoli/settings.py create mode 100755 BoxTitoli/urls.py create mode 100755 BoxTitoli/wsgi.py create mode 100755 manage.py create mode 100755 random_id/__init__.py create mode 100644 random_id/__pycache__/__init__.cpython-37.pyc create mode 100755 random_id/__pycache__/__init__.cpython-38.pyc create mode 100644 random_id/__pycache__/utils.cpython-37.pyc create mode 100755 random_id/__pycache__/utils.cpython-38.pyc create mode 100755 random_id/utils.py create mode 100755 templates/Homepage.html create mode 100755 templates/base.html create mode 100755 templates/crea_titolo.html create mode 100755 templates/streaming.html create mode 100755 titoli/__init__.py create mode 100644 titoli/__pycache__/__init__.cpython-37.pyc create mode 100755 titoli/__pycache__/__init__.cpython-38.pyc create mode 100644 titoli/__pycache__/admin.cpython-37.pyc create mode 100755 titoli/__pycache__/admin.cpython-38.pyc create mode 100644 titoli/__pycache__/apps.cpython-37.pyc create mode 100755 titoli/__pycache__/apps.cpython-38.pyc create mode 100644 titoli/__pycache__/forms.cpython-37.pyc create mode 100755 titoli/__pycache__/forms.cpython-38.pyc create mode 100644 titoli/__pycache__/models.cpython-37.pyc create mode 100755 titoli/__pycache__/models.cpython-38.pyc create mode 100644 titoli/__pycache__/signals.cpython-37.pyc create mode 100755 titoli/__pycache__/signals.cpython-38.pyc create mode 100644 titoli/__pycache__/urls.cpython-37.pyc create mode 100755 titoli/__pycache__/urls.cpython-38.pyc create mode 100644 titoli/__pycache__/views.cpython-37.pyc create mode 100755 titoli/__pycache__/views.cpython-38.pyc create mode 100755 titoli/admin.py create mode 100755 titoli/apps.py create mode 100755 titoli/forms.py create mode 100755 titoli/migrations/0001_initial.py create mode 100644 titoli/migrations/0002_auto_20200516_1742.py create mode 100755 titoli/migrations/__init__.py create mode 100644 titoli/migrations/__pycache__/0001_initial.cpython-37.pyc create mode 100755 titoli/migrations/__pycache__/0001_initial.cpython-38.pyc create mode 100644 titoli/migrations/__pycache__/0002_auto_20200516_1742.cpython-37.pyc create mode 100644 titoli/migrations/__pycache__/__init__.cpython-37.pyc create mode 100755 titoli/migrations/__pycache__/__init__.cpython-38.pyc create mode 100644 titoli/models.py create mode 100755 titoli/models_backup.py create mode 100755 titoli/signals.py create mode 100755 titoli/tests.py create mode 100755 titoli/urls.py create mode 100755 titoli/views.py diff --git a/BoxTitoli/__init__.py b/BoxTitoli/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/BoxTitoli/__pycache__/__init__.cpython-37.pyc b/BoxTitoli/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b96f34f74c5b965887553a883f3a766287d74372 GIT binary patch literal 160 zcmZ?b<>g`k0)w}k<3RLd5CH>>K!yVl7qb9~6oz01O-8?!3`HPe1o6vLKeRZts8~NY zGdUwMHAmkiwK%&Zzd+w5D={xUKig`kf-5N-<3RLd5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!H$vsFxJacWU< zjBjRgMq+ACj7w^9c1eCgjB|cUW^!tbQ+`EAW=VcdCK4+?J~J<~BtBlRpz;=nO>TZl OX-=vg$l%XF%m4rsj3x#E literal 0 HcmV?d00001 diff --git a/BoxTitoli/__pycache__/settings.cpython-37.pyc b/BoxTitoli/__pycache__/settings.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ce571bb6fdfe5c4ce6af82e525c8bd79fa93015 GIT binary patch literal 2476 zcmb7F&3DsA5Vsx0c1#k!0)#+YQ7DiAQbM2!eSIy8ErK78?Pn>Z=zyN=+1MNOg?8N} z`dc`ZWB-f(9eeGiz4hEvN3xx`4)2wEtPeDfhsv(^Q;3-?g&F5FM)a!OZdwkuf|;emAt9$J^tvju#v z;ByroS=UZ%Dj##!BB<7NShbcQXJnSw93`8{lqv^~-wk9&IH!J>$@@VhZv{st<$+7( zFbWPxhbyJhHt|X1Z~}7sSiT3T)*}Zz>dTBf5g$t4llu&D{ zj|M!4)4-SU&wCV2QkOhL4@jxUdC0y~RR}sv8Q2(k&QS$L$mLe{4l$f6UOISSXo#{P+&P<*kSJz4pOsd@G1T zhu)^J!B^j}htHqAUF$vN;fAx?UOQUZ^xm!?xXZ37vMcez;7Cd*@OebrN*ccS@+7y< zd-074W}-rT&W}UF;%gI|j4*})J-gxIhSNojrAZBrDd;4DXI7r4xwd9I5oO`Aog|3G zkA@l^1#ros6A^`xPCugjSTTl^os+%z$)tgyOUjtOG2o49EuS@ldG-QdDW|Xh5M|N6 zQbzKclEX34jR{{I4CuHY8m=*xw3C+MnBwFiM&TP*-Wh~+OzYcE9KxlYcLz@A9kzn< z(~HRQNFz*Yo{j0vpR}3Mk6ae3LmW=L(8W$u+6X{=759I!yDjFlTCK6CSL`H1hM2F`4HH?&z!EY< zX{TDL)bu^ArHk2CqhZ>+ty;NJe<7rUfcj#_)OVUS&D0HXVb9pECR(*>Sxah8%v3Z} zON<+0QQI|N+M{}~Uu(50ZZ@z~=W1Ggdso}m?Q)}{BVct$x2*=2QW1;DuC8s?2eaDR zYF*?Lo@wDpOteu>yg?uJN>#HH@5Ibtj%;h8+^QPQH}=Rwv|fJoYbIL3`b){*RW+$D zrh2r~bBL=}2z!TLO0|;S8a8@fRolVQ;Ig*|X;x3#=;R}(gvX-zy%#{=B|n@)bOuPI zTyg4VL7I|s`Ft)rKJwDPR#OtL=d-!oh&!K`3Zr@QE|v0A$tV@2+;AYoJkI|Ck1aiq literal 0 HcmV?d00001 diff --git a/BoxTitoli/__pycache__/settings.cpython-38.pyc b/BoxTitoli/__pycache__/settings.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..d69e247f9d57c45687d039bb7928c4fdababea7d GIT binary patch literal 2454 zcmb7F-E-4M5VsX!J0=c+gs(tbQJ|0ja?(JdOb1YGC3x^hCbCJ~=*|t% zL;n(H+C28L|Bhb!)Ym>RZHFmc$saKeGfgFHeYdy2-|p@0N{w7Do4~95)2}bra*4!m z(PZ?>;N%HD><<)>&=ZgZ!Aj~$lH3)3o*0oLIdPDTZaoDPdKyGM11H)^eG*cTh73$X z7EZzxN9W^uA${sxE{-|VtIom+oFCNZt7=XL7&Cg=I}X- z&pBAs&kuQS9SHgbxUFA=JNi5bT4F&qb|K{?pjpx ze0P_$xSY+d6NmUFCm=QVr5g~V?wDXxM`GOcdEfGe)Mdyc^=Vh+CHWqr*O1kAeIii@ z9oQzPt|Q@(cPP4~7P*ZPkZgx@k3G!i!EG_Q=VK5-%eC{w$s=K&yB=+^{2=6fkDhmk zw9~aL$)b!)?#|(sOb5^rp}zEkX>|$vKfZjjGverXER{qx`1%^ZVy}2N?dI-MaK-gK zlU}88pD(>$@t%D9a=CMld-u(y=JK1x2lmUAU2DOrhsniYuD2z*)-QJc3q~c&4X#eAfC@%csoSH=+Y# z!JR(BrT`Y%Gkqd6((3w@@5@?$P#LZTcgG#{Ly|}ET2D8ES~%(i&)Iezxe)*Thbi-S z z{hDvuq~=96&qi?5!#0zUycFhGJEzsQx52dGK^B^tgyTld(P52LoRu6k>OBgArfh zQ9pM%(Wp%=Gis9OJqy{(@8-X>fZ|=g!keH faYjr>x~YF~oD&kL6_3bw;;e}3_)dw!G>-lScSSmM literal 0 HcmV?d00001 diff --git a/BoxTitoli/__pycache__/urls.cpython-37.pyc b/BoxTitoli/__pycache__/urls.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d96515fcbd513abc903a2fde9011668f7d490cde GIT binary patch literal 1115 zcma)5%Wl*#6m>G0M>EsXUANv%BbB(oZUl%v#YjM5sS*QFa#xEr~SiCcM#dy&W6QQQ7|d53qSF7HJ>2eCG7Gk3AE@b6uSJItfqd*|Mrxva;! zi#~h<+WYM8plFkBT%f>Dq>Ip@xVg-<$TNI({ste3Vw%k=ndnRuzJEDq__~sLnP|;q zp{{YBDUGG5G*jk+!dl>u8T+I{d@3a7LNc5cQz5y9z-7)7#js**3r&W;}cFVFB^ht;hD8)&E zGhPa*M;K3~;F#aWNm(|BYxz%`d@C6QtSN-6Aa=ex9PTx`=7O_5TqK;m7@Bw(_(yr7 z)Z+;Vqid-DV<0fZ8W(9^(X5z(3AUb*mcnDM z{25zgFi?T#F}Z9vz|+Rc(bBHvbA-n570D)d&zkaJwv$}U2pG7kG&BbmcNhfz4`^-_ zICVRrJSzgX?lyU~XRL>Vo?=>q7*%(ahCWK~IyRTo=&rAAw_3EofmRl2#aW?aDTIC( zY}MU3hO;=1wi-QPgO=IEG&`#MYa%7gACewy(azu8sf7-gg{2uu*)cagm1$Oc#+`cO z?aA@@AO??Xe;J;ion6-bwMP1iZ*D576V}*bYE^cyKW$ q6LGVY7B9JwKa*)kAS`d|-g7Q!m9v)yR1IMBoPo3LY_|r^mh&54=UKM^ literal 0 HcmV?d00001 diff --git a/BoxTitoli/__pycache__/urls.cpython-38.pyc b/BoxTitoli/__pycache__/urls.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..0f6eaf85eaca33ae397da851ec5764bde05723bb GIT binary patch literal 1113 zcma)5%Wl*#6m>G0M>EsMu3PV>kxIg2H#|g{wxSZHQfW8Qh%}8oGoHqAWINDy+cm#| z#FF317B>6>5{TVA!E%%=DKHdiZ2S8=CRgP zX6gc`Old4dp{X(#6xIU2WAwf9@u85I3rR7{rb6-x0_Q1>6~&6uk&9u>wa(Qj2#83O zPZn`D6S))%nrJ@}JfKa`&fTp{`ERzDsh9;|;HuKl98|bN&vU;) zb0g0x+cDuR^X#%)=ar7J9u9hnY7Jsk*-;w$D7o!axj~6;`?~7Z3eB^il|@o;n(0Ui zp>*Rq=Y|+qytO1{U>)?LHoG%X$D zPPuk`uz$1{fybr03{Ou^&dPqHkv<{0Y3`ck`{VIwa;~UUlVg_5W13F(sk(wLpNs`z r37!1@g^kEm^7EUr_k;^lr1Y5uP-+VnXLDd}SzE1vHTY?_Hh%m9%5GT_ literal 0 HcmV?d00001 diff --git a/BoxTitoli/__pycache__/wsgi.cpython-37.pyc b/BoxTitoli/__pycache__/wsgi.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f808732ab72042cd644233989a048b26d9decd97 GIT binary patch literal 567 zcmYjO!EO^V5cN7~6D<^>3UT%|609R}LkQ6*AxZ`5VN)UHfa9(wiG$a(TDxi5E64r> z969qf?3EJ-et;9+jaqdik3AmEdv9h2M@KOU*8ltS^KC@P?>e}%c6huC$Mu6#WKLA1 zsEOuLxLbzit$8aV5N+Du4pdtme5WC5eI@flMN`r{y!jP>O2-qHp2(ys7MQ-(PQ%U>mZ zzQ!w$TtQ**ItT0dm0M{Z{|N&j(_U0PTY(q#pLigndOkconU2pyI-1QU({U<3o(<1G zjBbwa`%fHrukFh9I#oxAAVP?WqN|?nr6gJCAgO^%8mOuc*sU(nR&gj)u#}g^SC1ZW z{vc(&$j1E}@pA{IgRNpW3u-|Q#< Qwi}RL?b@_UAJZrFKR>jyT>t<8 literal 0 HcmV?d00001 diff --git a/BoxTitoli/__pycache__/wsgi.cpython-38.pyc b/BoxTitoli/__pycache__/wsgi.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..98c48cf47bae0a8b4922305b8218cd83fc4696f9 GIT binary patch literal 561 zcmYjPO>Yx15cN7~6P6YsggE;e33e-SD+mEiiBi$@kVHt)ijBLTY@B*MtF@bcT=^MX z+GCIW7cTh9sehp-yosnXlAk>u&Ac~bk9T)N;_bKi_5Ei+$lu!8w5E4H`epV!2r?le z5L5+|!0!!3i^il85C|5{n=R24TesAEjUQyPE$EPRwy*z$--f+D%TUi`&SqG#&v-eK z7L{aWg$u}R6o!4v;Ic#mhS@o=bqZICpDJM7FwP1T=L+5^Sb}0pUddHR^8y5$PI*}> znQ<#oPp7`#7td2*1x#vBS*!vKwJ$CWn@I()nE?pr)|O^Jjs<2W5(}<#{I4m)A_g75 zjrQU>URaC;lnSp3&^Ep>xs1bmKM*qL1ny-HHm&c{4H@oL_vq80cajbdN2C6rH%yOD zy5p~h*DoIXj|^BVb#6K>*Gf|_B267dy86=N7HcmBJR9?CE`}Mp(_%A_B N+e7n7o9@tO^dHc_u!{fy literal 0 HcmV?d00001 diff --git a/BoxTitoli/asgi.py b/BoxTitoli/asgi.py new file mode 100755 index 0000000..7a53412 --- /dev/null +++ b/BoxTitoli/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for BoxTitoli project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'BoxTitoli.settings') + +application = get_asgi_application() diff --git a/BoxTitoli/settings.py b/BoxTitoli/settings.py new file mode 100755 index 0000000..f40b7a4 --- /dev/null +++ b/BoxTitoli/settings.py @@ -0,0 +1,132 @@ +""" +Django settings for BoxTitoli project. + +Generated by 'django-admin startproject' using Django 3.0.5. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.0/ref/settings/ +""" + +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '$t!m3p(mbj0z!orpai#id7t0q3p@9^1h5tp7a0b1x*8m^3jl)l' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = ['*'] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'titoli', + 'crispy_forms' +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'BoxTitoli.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [os.path.join(BASE_DIR, 'templates')], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'BoxTitoli.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'lordb', + 'USER': 'root', + 'PASSWORD': 'root', + 'HOST': '127.0.0.1', + 'PORT': '8889', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/3.0/topics/i18n/ + +LANGUAGE_CODE = 'it' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.0/howto/static-files/ + +STATIC_URL = '/static/' + +MEDIA_ROOT = (os.path.join(BASE_DIR, 'file')) + +MEDIA_URL = '/media/' + +CRISPY_TEMPLATE_PACK = 'bootstrap4' \ No newline at end of file diff --git a/BoxTitoli/urls.py b/BoxTitoli/urls.py new file mode 100755 index 0000000..00697f2 --- /dev/null +++ b/BoxTitoli/urls.py @@ -0,0 +1,23 @@ +"""BoxTitoli URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/3.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import include,path +from django.conf.urls.static import settings,static + +urlpatterns = [ + path('admin/', admin.site.urls), + path("",include('titoli.urls')) +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/BoxTitoli/wsgi.py b/BoxTitoli/wsgi.py new file mode 100755 index 0000000..6d5fb22 --- /dev/null +++ b/BoxTitoli/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for BoxTitoli project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'BoxTitoli.settings') + +application = get_wsgi_application() diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..8028782 --- /dev/null +++ b/manage.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'BoxTitoli.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/random_id/__init__.py b/random_id/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/random_id/__pycache__/__init__.cpython-37.pyc b/random_id/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..edd605e0d5ca3ee22605e3e20a0a9244452f93f7 GIT binary patch literal 160 zcmZ?b<>g`k0)w}k<3RLd5CH>>K!yVl7qb9~6oz01O-8?!3`HPe1o6vLKeRZts8~NY zGdUwMHAmkiwK%&Zzd+w5D={xUKig`k0`~NcaUl9Jh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6w>*(xTqIJKxa z#y2xLBQZ56#wE2lyClCL#yLMFGdVTJDZe5lvm`$!Go~mpFC{-WJ~JgIK0Y%qvm`!V Xub}c4hfQvNN@-529mwF%K+FIDq&Ou@ literal 0 HcmV?d00001 diff --git a/random_id/__pycache__/utils.cpython-37.pyc b/random_id/__pycache__/utils.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8d1dea280c37236f47f3901adeb78f0743883602 GIT binary patch literal 633 zcmZuu!EVz)5S?*s*9BFD9%v8zfG;r;7Y?^1KLQl*(4dTE^@9pl>zL{t5?#9Lgp!ya5e7}PLzs+G)9ooDk=odr` z7#0vOSB#P4%p!EQf!N-L*kM-ea)-O87V9wk3gb0~6Y!l|azk|ckT|olA%mpdD2nJlA)v^i(v$V`* zvKvlD!3TL>i&_>UVXYc0`zC?~i&_-ATYbJ;@8!JY=auSvCfqXV7vG2~t$A{9(X|p~ z-t84KOAFoa{&i6}dnQHMICL|otjhFh+=7>RJyq*;@UhjDd9~)r|2wa(h6AciS+-#;g6Cx?(C$6$o^Odlus(Zm@A{Vuex5C5M!!SBI+8>YhlD%O#p2Uxj!neuf ocsz;@lEeMz;CR>$Y192fZ9uO#muyk+zIi-tKE^}O+Ctm<12F}i-2eap literal 0 HcmV?d00001 diff --git a/random_id/__pycache__/utils.cpython-38.pyc b/random_id/__pycache__/utils.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..1cf9a3803dd071461a888c989e431dc193942f20 GIT binary patch literal 631 zcmZuuO>fgc5S`iBt_zB&dLSGS_go?*E(k>tX<9XvS_|cagJrNR@7CGk+Gf{LTU1W1 z1b=~Bd+d?FvsX_23!IpBLdAiR=I!k4zBf<1^LG0YP`vo@^J51Ae%Z~x(W1>;O8uIE z1IHY~)ruhsJYkfr4iGvW2wl!XPq@N6X1v9nYYaCyPND1G6B~m2$Al@f^*U_rQra>4 zIRVET_y)(wN#NSA@e;3a7q0Nu$~b|6lw3Z9r8|_bDD^XfOZc$$6>GS`?{JIn0pT;_ zKvWF6%y=p(czJ5PbWzGwP>1zi8jSDIxalHM`VM~gM{lCJ7D`7)l6oSKc7^^_msK<> zIgz5B@_Z)iGMCXxEtWi5)-u<<>cVXHGf{~1N)3E#$$E2u!I!RWtE3k3nxtzbi>%kr z%QVULp!dKdQ_e{#3**wwj6AAM5;0ybimYBJ`&-ItEBlt_>Hl>%=u9{7jB1POuCJ^W zxRc=CTksT4-emshr#@4Z*nk-N8{mS8n&mi$w9Cm kAMOSFvvD(E<*PB*Kx5ADpO$=?i-G+zZB6^=vu$+PAAzo!asU7T literal 0 HcmV?d00001 diff --git a/random_id/utils.py b/random_id/utils.py new file mode 100755 index 0000000..d6978a6 --- /dev/null +++ b/random_id/utils.py @@ -0,0 +1,8 @@ +import random +import string + +ALPHANUMERIC_CHARS = string.ascii_lowercase + string.ascii_uppercase + string.digits +MAX_STRING_LENGTH = 11 + +def generate_random_string(chars=ALPHANUMERIC_CHARS,length=MAX_STRING_LENGTH): + return "".join(random.choice(chars) for _ in range(length)) \ No newline at end of file diff --git a/templates/Homepage.html b/templates/Homepage.html new file mode 100755 index 0000000..bbaa023 --- /dev/null +++ b/templates/Homepage.html @@ -0,0 +1,45 @@ +{% extends "base.html" %} +{% block title %} LORDCHANNEL - LISTA TITOLI {% endblock title %} + +{% block css %} + +{% endblock css %} + +{% block content %} + +

Boxtitoli :

+
+ + {% for lista_titoli in titoli %} + +{% endfor %} +
+{% endblock content %} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html new file mode 100755 index 0000000..c8a3148 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,25 @@ + + + + + + + + + {% block css %} {% endblock css %} + {% block title %} {% endblock title %} + + +
+ {% block content %} + + {% endblock content %} +
+ + + + + + + + \ No newline at end of file diff --git a/templates/crea_titolo.html b/templates/crea_titolo.html new file mode 100755 index 0000000..5346064 --- /dev/null +++ b/templates/crea_titolo.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} +{% load crispy_forms_tags %} +{% block title %} LORDCHANNEL - CREA TITOLO {% endblock title %} + + +{% block content %} + +

Crea Titolo :

+
+
+ {% csrf_token %} +{{ form|crispy }} + +
+
+{% endblock content %} \ No newline at end of file diff --git a/templates/streaming.html b/templates/streaming.html new file mode 100755 index 0000000..eea5efd --- /dev/null +++ b/templates/streaming.html @@ -0,0 +1,29 @@ +{% extends "base.html" %} +{% block title %} GUARDA IN STREAMING {{ streaming.titolo }} {% endblock title %} +{% block css %} + + {% endblock css %} + {% block content %} + + +
+ +
+ + + {% endblock content %} \ No newline at end of file diff --git a/titoli/__init__.py b/titoli/__init__.py new file mode 100755 index 0000000..285bcc5 --- /dev/null +++ b/titoli/__init__.py @@ -0,0 +1 @@ +default_app_config = "titoli.apps.TitoliConfig" \ No newline at end of file diff --git a/titoli/__pycache__/__init__.cpython-37.pyc b/titoli/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e3e066d661b812cfe3a9c29edf3cca11d706e06e GIT binary patch literal 204 zcmZ?b<>g`k0)w}k`8k<-i3J74 zdLdx8bADc0X1bpy<1L|-)U?FXoRWB;YSU)#2IU_MO zN8cs2IJ+djK;I=RF)uwo-pMi8Q$H!c0%Apc3RqMh!qbnB&&g`kg0s0BG47@$s2?nI-Y@dIgoYIBatBQ%ZAE?Lcn( H48#loe8M;I literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/admin.cpython-37.pyc b/titoli/__pycache__/admin.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e81d15a7d4a123f6dbe6258cf5613081a19b1546 GIT binary patch literal 270 zcmXv|yG{c!5cHmXrxQx}4z7vw0SJ*tLqij2t{}R^tKeXtBikVO8z`yyn`^03@B>s? z-zh8Y?9OPkv-9!zf>BNXexBZF{w8uRPRlKIxFS$YfngSE0H!j0-sI{77zAL6h=f&D;{)o#@$y%eW~_MyK|GRYopg2pOK?0tW#)$7m0|VBX*_7 zoemNGH}fUQJ^U}^V?ZCI)!XL=ja*`QiS8hm{n7P&wz`uW_a0N6UJp@nV6y*ca`@=V RYl?d{c$2;hDRTrPaROC~M%e%W literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/admin.cpython-38.pyc b/titoli/__pycache__/admin.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..8566ee20f7571707846879e9de6045c2ae173cd9 GIT binary patch literal 264 zcmYjLu};G<6!eRoD5_e%gDl-aRfQ;PS)fZ~RSNM_dBuq<+m%5442+EYPFAM=0u#?+ z=}GUN?sU@KW;UA$#-jh;zVrV{;vAC24PUrqGQxlr9n=8AWJcPoleGkauvZ^B%FpDh z2T|oGPKyeLyfGd1C-_&zBSmN3eO1&KX5aKXH*Z}ZJw5r16GPECgEn}TgbEaKC_U~d zMD$<6mu!#pd$qdOn}9y(HMP$TT78G%CAx!NIYTY#TlYG4k&da7^tfYwcpJ(EmmDoF L)25J`rZ821Pwhi) literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/apps.cpython-37.pyc b/titoli/__pycache__/apps.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f0b91e93107b2823cd13a151a9702e72b16a8235 GIT binary patch literal 518 zcmYjNyH3L}6t$BSLP;5z7+JH#d;mgyNrS|Fe=h)d=07)O*o&YG4Q%PWx=Aq}xBhTWJS+S~h;ThcC zs;%Y}me7y|eFSb300}&rya0lRU}ErKO7kPXm)T-j32oEBMONvB!8d&nvj^dK$gZt2 zmX*c)PAJXB%08^>hK=t=lQeXP dUR;K%4C-hnJNx)vgCs6K_m^MbN41)h@DIv$b}#?{ literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/apps.cpython-38.pyc b/titoli/__pycache__/apps.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..26b8dae9ba3a853c09c3b1e933b7d94f97b37cbf GIT binary patch literal 520 zcmYjNu};G<5Ve!Egpx8aF|uaKj1WSFATf~zxAbw&pv;dMBxH$megi}cxno~+H2=}=EO1LlR zi=TTuxFYfB8@fnL?e=NcrK(-j%L;FX=0P$8H~RpB* zau$zl$XHu8f-yT`tWkU|@f;df=b cR0*omsH3k8=JAypNo;uRmY?AF^qM387cLxgasU7T literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/forms.cpython-37.pyc b/titoli/__pycache__/forms.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c8e3c2c4ebea6657a29a201a5615b16aafdb8480 GIT binary patch literal 570 zcmZutJ5Iwu5Z#ZRIFSP#1wDl&6kh-#2na-xG=atiE0bA*VU2?~k$^T_g9C62dTy{S zRjxqA%vw<>7-`%GciK^*g@bR@lroc? zoihj^d}9!5zLZ%2tuag5E39A%cb#Dc+MHE&x#CTvby>_SQ%&f@S|l1rsCE}Yvy21F z1QK%)NGz5jlOT~ca9yJMhk?jF!_FTDP2=z>&q5GbEnl}c)%~HK=S~zbN?I;b>M<|1 zQm(61S;4}P9V_*;$W4=}=@>4=q&BXtpC@Jk`h(RmhCTe8q*qqgHZ6>gL5P{SRgh+UQl!RH_wCwv{H6>lkuVejg{@;IuE;?vVa!5z^bHzNCzfPQd Al>h($ literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/forms.cpython-38.pyc b/titoli/__pycache__/forms.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..4e5d1e8ca32543eb3d3f55c9932ab5273694aee4 GIT binary patch literal 577 zcmZ`#Jx{|h5cNmWrd0|X0~2c`)E$Hnq6nsTfi6*m74=LBI5otr1gz!Hz{cP4%GAHW z#GN~|1Dtd(cki5cALCxH%g_#%U$>w5{ibBwB23QE-5~-n;D*&a=bV86X+$k^$=MZy z2;z4JvF1yeN6@-vS$lZDRK!Cr6b=ZxqnosNl@9_QqeRPpYl8gfeP|%ccaiB>Urtg&Mc;?f>GA;iBhw& z)=K%VQniJJp*U6Qc~P2mrJ>9C7>nBYwtktI1?Ugfq(}$&IT{=nW2YNe46Dg~sZDXA z-Q(Oo6$1;^L>K4wC9F^tbGk=W+~HEL|Mco3ny8IRj=Cf~;>`{QqbzEOZ4!bG0nwYD z>!?Ruj6m)LLLx#w%HlkQhjKQx{m`qSqHl#IT-YeQ`%BO#C+kC;(tX2RDNp4ud{KL9 literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/models.cpython-37.pyc b/titoli/__pycache__/models.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..848ef92fec545e742056b5e4c9c19cd92ee57bb4 GIT binary patch literal 1110 zcmZuw&2rN)5SDDmapI&D7=8{g!!?)W1(;4+I%POCmzIkTXymLKoXByIY-l^&+H2nd zj=TlW;VUOzffKv71BIzHTJLHt@As`f9}I_mhU59(_jfvA><0zgfiauna$_{WfE$)^ z!8!S!@iJfdoV{k?LvYO?(0mzO`Jw}z6E+He;u$vLRhZ?VjYF?%^+#=;o>OK!d~~L` zoIsll_n`yfH4`y(A;RYXG4-I2nEF?q z7($GA232^P7P-k!5lOtUX{PLjT##YKES!EqwuhM-bYo%+ ztF9!{Qa-|9TW_bW*QVx}`ZK7^6qkF3W_#_xg%6&<>qQX-B5Z_o8Mog#)`dC}agi9Q zH>pEeiQYlmlKiim&PLrTl5(vwEoIf068lpc@&{6WD3xh5-At|3LPHhdg%>I@x*DKB zlicb0aP{zZBsZqC%G@GO_hxJM0YQ68bRskn59(!d-|giIt!^DjRW{1Duf; v`H^2|XQL36Uh8NKNdqcwV-$|7rCN24>F=!%+*PNFUN+6$BjS##Vj1r@{w4{b literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/models.cpython-38.pyc b/titoli/__pycache__/models.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..20a1fc3e48eade2098bf75801a361fd2ecec1a09 GIT binary patch literal 1056 zcmZuw&2AGh5VrRx*(AHAP^3OXB$Nxc3ZaT1xX>J+;b28rn~b~N#K{(W7fQvgz4jg8 z*dwpwE2q8!CuW=!MYLXdJY$b%zHi1m&ay7UkzM@y^gLkfHyPU_LgNsp9iRXPT(cz? zoRc2tU>S;#v$qUFh^`n!iqE6VP{a^_VExuD-eG<2TFVNQwy3p@`l5_gGdkHGF&c+B z?MD=f2@XsIDx62aA-Luu_Bv+4FTM^%ONBq$Kbc52YX@4;zG9*a33PDnA*L?$5L53m z5GkaHCv&aivaWPhKI0x&cbT6{tyV>SdfUUi$NkU{5Erc)tzA6T`D!sk-+zO2nnRqn zh2lG#GYri~M6>qMZ@7!B(kC~}r0DVIV0bVYTVy>sDrcv;(v#Q9F6!!RGOVDSsmZJA z+~X=IK0rBHmuqnL&9$YpwULqnS?mvHzt~xm7;KL2;iHy$d{0oRv1Je-N?vjZuLHyy zjl^!z2?cM%Y14p-PB4p zMw90q$o&n-|9$Q?o~n6B7oVcIYdmlfLLedt3GYR36YNOUxgmOD-Nqgor!FrtK1MN3H&9&xje%BY_i z+BJJ52)CiuxX$o2H*ZR%!E|Vo>fw^{`*(g%WV&1}q*_iDfC3SnRCQ%`$nh}=iu@1? zPne#XCEtXne3vIY36d}g{n@DBavhlGtD+jfbPc7qv9T-Gx6#E%^bh(A4`p%5i*@Z@ LQbRo7l&8^OF|F;} literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/signals.cpython-37.pyc b/titoli/__pycache__/signals.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00ef3f028ba6a8e734b7c770c6f13299ec445934 GIT binary patch literal 565 zcmY*Vy-pl45VrT969?TXN>8!P?F&Rvf`}BFOF`0X5zDMci^02ln(;x9j*7H-kh}%Y zu?0;kULjS+dmxdq=JV&V{rMXo&*wA2@p$y`{YDD$CoEnfVe)~KJ~J3$q!XR2r3^fB zQ5V%#1viE{SDYNC{5u|`m&uOV=R z2JAH;^F<3ip!T3p_h#r6d9;1|#P-6q?5p*I8v-Nf4PX-mL5`F&@GqS7mSHP#v6YvC z7GB-m31ehb{^(|dJ z$`8t#jHM}nh-WgBc))B`?$vL00!wqg>;?mT_gMo&%j4n8wxzZ9%>~9>tq-4#TeIAF l>uBnB%yt48UYYc#eqO;mC>HPd*v7&8@b6SG?8|9H{{RAUkq!U= literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/signals.cpython-38.pyc b/titoli/__pycache__/signals.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..5d7d5947200e1204d71a4792b8ccd92bf38e85a8 GIT binary patch literal 570 zcmY*XJ8s-C5asCah1c#DL2jUC50C_bVW&uAr*PZ|LIg$}$h0YO!QuJ?tgB7w93*9~ zqc)YVkSarY4LBok<_$G`dXLb>d_EH#*8cwX2txb`&Fe_GIpRg1IVqvQh#o3{fFl$2 zaTQNEHc6jWDdR+?ChPMm2Z1pH<|_LcsazF5#1^VT?VXEq_QY(Wgt1sTY)IZ7jdKiQ!oGReNh}K!k%r*G7SG7b(}!f8j-MIc>l#HgF|q z;bAKtl1;LKh8?gHI4h$uC$sJvtz2+hrY`3)7J48rhZe^~x{k)|`Zm;R{-2^>!tL|) z-}fi)>I*_g^{H+zC7SvZ(zUm%`ot>TVts7yCega~LA$O=cY`#vT-}ccQmJOr;4RC@ zn22aL|jz3Pp+l0#>g>ie>{3i<4g!v(kF;md1HE9u)y7xQj)xRa~Za_zOD l$>W$k6S(k|iGOnOD$N69@qx$I20w;tr|_ff!}LV6=pS}LkRbp7 literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/urls.cpython-37.pyc b/titoli/__pycache__/urls.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0614aa1d5e0eec4be85f7d396b2a057e392dbb2a GIT binary patch literal 420 zcmZ8dOHRWu5Vh;14NWSsphsYlO?`o?g3<*@h)rRW1(B&oX&{axJLPu=4#F)shqtil z6<9G&i-Z_yp5C)(-m^R(jfMp4>-gh#ObPk);^S00J59`2mD-=y}1izKoY7O}6MrQtE<6wCgPfla#q=traw) z0C!kygpne*tpTCRx^T%EvKFq(R#)1QEIQxMdXrixcpd-W;nPyiOo-mE$qKjgwp->| z{6}4-0~gDCQ5Sl$F_kqvoOj`42~XAp$U6hm_op!q;CovzwS6Zh@wXnn=lsTkv0Rm_ zwSbB*z&^CP;fu~UpPw!-_?>?4^2>ae#&?SQ&`I;+qN&nyQ^CxChK&#sdc+c%&>tg_ BbtM1* literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/urls.cpython-38.pyc b/titoli/__pycache__/urls.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..e1c9000167a22881c04fef16ee041f2aeba0a848 GIT binary patch literal 421 zcmZ8eJx{|h5Vh;14NWRBFtIUaX;*}*3Q-0IV1X`CL}m3(sUeOdJK<|&=Z7$|@msty z^)DbHVMiS*&hqJ<@A=)6y%>###KqU!=iLz{uAH+vd_GAV5nZX+|l59_1xJPdFMgoe$=>rvC&j2XiJ>=cQF1>5_-TA H>elZcqCjb&V5Z2HA*|CEIVJK)QXk1`ZxMUbeGE5j|0)tI+1vi(Iu+OSNgH|3nKwqS3u z)(~~uH;@^1sR<;n7?);e%ylA;r#ypACWGe#6G_f;34t4I?_v{-axDr0Uh|ER<>u5n z)Oz-jtC^@2&+KJ8fE4mz?ZZ+}!Duwa*JOpRDZ?v#i5Xeq9A6UcEfJ$jazz1{ceDte z&8s{UCeZe|e9=A>C7-2Z-ka#M==w5%WG1Y^DnrwvFp-eJB00X0Ry*JoO8#}um6i>6 zITMxU=lUm-_u%|zzyC>bsrqG}O;TR;54bwfV%9&Hrqx&^d#{IY`^VzE29Pip?boON zY0l47Z+2m#$r@J#DU}6@QtNI*4l6412- zpfJgqX#jklmU%T^Y;W9J1S+k(PKlbaC)+k~-5S*8WNETVW-qOg zw=D8qIByDg2l*lVvP4tp#S@gb@Ljjs?CnYtoV z9RNdbSu^yHjQ8RFaAcy}(i-mzbkw4g0pY|6Eo!2n2}-Ufg2@mN$cJD|l&j=4EkGep zrKen4pm$Vw1cA6w@iUvM;Q!U4wGU5eK5{K>6;oCsgqtuUm`xH`MIJ-!sN0S^brbZ| zL`a>@wQ>*ERj}^^Ou=}e>gMz<8|5IIt@S@A@R3N{Dy~1A)Gqr!MRMhGm5N?Kx_QB0 R+OJ8q!0h6don90~{$CVk{}})P literal 0 HcmV?d00001 diff --git a/titoli/__pycache__/views.cpython-38.pyc b/titoli/__pycache__/views.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..e52681c565b1e91296566fbc936970b409fa512a GIT binary patch literal 1079 zcmZvb&u`N(6vu5RP19ea0}h-};nqt5X_ujCLKLB0C==Z-QAHJE)22)6V!PX@S_x^p z@;_`xj{G~ma@xPZiT9kY+9Vw1`T0kl-{*au<3^)Op#8Y~{rTJ@dKLumRgkG_0vZ9zo(TZeU!#_K)<68%KUzHB8^78=l-jhqKx$U4qlTYI5NOtsC zDwE8Ob_Y6*AVbMTri-guLJ;k;wYBv}WB5^uEb#_84P4+m>Ny>qgy9~9n`dGl|0sK)Vdg{c%&Y+epZ2Jc+ zV9A=l@s?E=`~WL%oQ}Yjug>-3_}pV3jK?v-HvRqceH0M#t4%g7M6id$zQ6zks3IlJ zXvs20$r}O;f-eLDL07@&APXQoCzIYC?j;lE;!+kSZ=|lQ>z5jYvWs?U(;@_WIBbnU zkcZ-atnBY221AGzpsqwm7?FJz;Yc1*&tV<$(G&?Wi0(R^V<-Ux7`+Q>3D zH~dQ6xX214b0t3smwXgvuC3rzUJBQ5JdJ!w(E*AMTltO`Z16_NE&nAf*a<77O7juq= zua!WYaQ3@r8Bh1rlnk5=0c@M!d^AHPLEc3RcL;&e}0nA^|g0P za`3Zhm*JVsuSuuV=_`IOc&ENG?RV_suum}zS;)dLq>MeGTi9co1dRGUXZU&ABQ7f^-Y^Z)<= literal 0 HcmV?d00001 diff --git a/titoli/migrations/__pycache__/0001_initial.cpython-38.pyc b/titoli/migrations/__pycache__/0001_initial.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..5adaf4095de06f59996f8ea0b99dc51d5654ab88 GIT binary patch literal 800 zcmYjPO>fgc5ZzsG65B~ifu4~-0x1%z$`v70NL7TOJwSW0ELLu2>Ta_38rwk)SGeXM zaDXF6{?1-G^%o$41dN?j?W|@rZ$D<=yxrsBFl1y~=EuAH9%DZnaNQ(aWoNdtbwEjOK@z zS=ymG8*t-`fX$_s@~96tiRvvE99(ida@`|cTVtKju}*pU;USOXJ_Y;TGQMv7G?7hyX4g!3cip+O38)T;u|zV9{v%&;Nq|RCI7X159#p& km?n8@x8bC1t?i~=ydt^E?omzWKUt~uv}w9(wAl3i1BKk-wEzGB literal 0 HcmV?d00001 diff --git a/titoli/migrations/__pycache__/0002_auto_20200516_1742.cpython-37.pyc b/titoli/migrations/__pycache__/0002_auto_20200516_1742.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..12d17a9432713c58abefd1d1dd5e0bcaeed22af3 GIT binary patch literal 587 zcmYjO&5qMB5VqqqO{?~RfEVC^6b_rT;^%_UZnfIg9(Fmbxb%Q=JEP*_#34=*oZ*DD zZ@>%eTkLcA%86It#KdW}jO5WbUuHggzAUEGF{7A1y?g(YGxobH4iOVLrsJMa0tVc$ zk}o-D=L{kcKNtw)+vvMkMi5`KZ19KrSjPRh)SE`N+E#AeQHMwf9Mf^nC?Q*NU^L1% zd?_&A4mweYVF1Z50mGY!_ykfC9{JJbK{1Pb((2Y4?I%T1%%rY#tCiWa_RNnK_G{>{ z_fTiT4@*_44T7J1!DeM0%1V{!AO2s-+Uy!-=#n^m9NIdpag_~yD#L)3ek^5aVP}x= zM9R-QWxDRJ0<5tDtkxP`6VaOf!HH?HxwL@hZ7=4>w#L0bx2$-==9s*RP4lk1CowO>w42yEV)K{E%-bFyVF)vmR2Ud)T)#q6b=y?Q=B zs=qaY?&|)6ODUxyiDMq|z+RCGWK;=0yAh*Da#d literal 0 HcmV?d00001 diff --git a/titoli/migrations/__pycache__/__init__.cpython-37.pyc b/titoli/migrations/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..58ea0a8b748a97517ea5509b9665ee7390357899 GIT binary patch literal 168 zcmZ?b<>g`k0)w}k<3RLd5CH>>K!yVl7qb9~6oz01O-8?!3`HPe1o10SKeRZts8~NY zGdUwMHAmkiwK%&Zzd+w5D={xUKi&M4u=4F<|$LkeT-r}&y%}*)KNwou6^%;m60N|o5Qvd(} literal 0 HcmV?d00001 diff --git a/titoli/migrations/__pycache__/__init__.cpython-38.pyc b/titoli/migrations/__pycache__/__init__.cpython-38.pyc new file mode 100755 index 0000000000000000000000000000000000000000..f5d171ccd2bc819e8bbb8391476bb3f70555a1cd GIT binary patch literal 162 zcmWIL<>g`kg8L~O<3RLd5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!H!vsFxJacWU< zjBjRgMq+ACj7w^9c1eCgjB|cUW^!tbQ+`EAW=VcdW=si$%FRqKN-W9D&nu3JkI&4@ bEQycTE2zB1VUwGmQks)$2eRNZ5HkP(gB2;M literal 0 HcmV?d00001 diff --git a/titoli/models.py b/titoli/models.py new file mode 100644 index 0000000..e7d85c5 --- /dev/null +++ b/titoli/models.py @@ -0,0 +1,28 @@ +# This is an auto-generated Django model module. +# You'll have to do the following manually to clean this up: +# * Rearrange models' order +# * Make sure each model has one field with primary_key=True +# * Make sure each ForeignKey and OneToOneField has `on_delete` set to the desired behavior +# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table +# Feel free to rename the models, but don't rename db_table values or field names. +from django.db import models +from django.urls import reverse + +class Titolo(models.Model): + titolo = models.TextField() + id = models.TextField() + unico = models.AutoField(primary_key=True) + link_embedded = models.TextField(db_column='link embedded') # Field renamed to remove unsuitable characters. + foto = models.TextField() + + def get_absolute_url(self): + return reverse('guarda_streaming',kwargs={"id":self.id}) + + def __str__(self): + return self.titolo + + class Meta: + managed = False + db_table = 'tbl_episode' + verbose_name = "Boxtitolo" + verbose_name_plural = "Boxtitoli" \ No newline at end of file diff --git a/titoli/models_backup.py b/titoli/models_backup.py new file mode 100755 index 0000000..9bfd55d --- /dev/null +++ b/titoli/models_backup.py @@ -0,0 +1,20 @@ +from django.db import models +from django.urls import reverse +# Create your models here. + + +class Titolo(models.Model): + titolo = models.CharField(max_length=300) + slug_id = models.CharField(max_length=11,null=True,blank=True) + link_embedded = models.URLField() + foto = models.URLField() + + def __str__(self): + return self.titolo + + def get_absolute_url(self): + return reverse('guarda_streaming',kwargs={"slug_id":self.slug_id}) + + class Meta: + verbose_name = "Titolo" + verbose_name_plural = "Titoli" \ No newline at end of file diff --git a/titoli/signals.py b/titoli/signals.py new file mode 100755 index 0000000..63570d7 --- /dev/null +++ b/titoli/signals.py @@ -0,0 +1,11 @@ +from django.db.models.signals import pre_save +from django.dispatch import receiver +from random_id.utils import generate_random_string +from .models import Titolo + +@receiver(pre_save, sender=Titolo) + +def add_slug_to_id(sender, instance, *args, **kwargs): + if instance and not instance.id: + random_string = generate_random_string() + instance.id = random_string diff --git a/titoli/tests.py b/titoli/tests.py new file mode 100755 index 0000000..7ce503c --- /dev/null +++ b/titoli/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/titoli/urls.py b/titoli/urls.py new file mode 100755 index 0000000..73bcd72 --- /dev/null +++ b/titoli/urls.py @@ -0,0 +1,8 @@ +from django.urls import path +from .views import homepage,guarda_streaming,CreateTitolo + +urlpatterns = [ + path("",homepage,name="Homepage"), + path("guarda_streaming/",guarda_streaming,name="guarda_streaming"), + path("crea_titolo/",CreateTitolo,name="crea_titolo") +] \ No newline at end of file diff --git a/titoli/views.py b/titoli/views.py new file mode 100755 index 0000000..b4c348e --- /dev/null +++ b/titoli/views.py @@ -0,0 +1,28 @@ +from django.shortcuts import render,get_object_or_404,redirect +from .models import Titolo +from .forms import FormTitolo +from django.http import HttpResponse + +# Create your views here. + +def homepage(request): + titoli = Titolo.objects.all().order_by("-unico") + context = {"titoli":titoli} + return render(request,"Homepage.html",context) + + +def guarda_streaming(request,id): + streaming = get_object_or_404(Titolo,id=id) + context = {"streaming":streaming} + return render(request,"streaming.html",context) + +def CreateTitolo(request): + if request.method == "POST": + form = FormTitolo(request.POST) + if form.is_valid(): + new_title = form.save() + return redirect("Homepage") + else: + form = FormTitolo() + context = {"form":form} + return render(request,"crea_titolo.html",context)