From 1675d7060bad70e656f0be6265a654899fb5f993 Mon Sep 17 00:00:00 2001 From: clhost Date: Wed, 7 Dec 2016 21:50:36 +0300 Subject: [PATCH] upd --- TV/.idea/workspace.xml | 431 ++++++++++++++++ Telecast/.idea/Telecast.iml | 11 + Telecast/.idea/misc.xml | 4 + Telecast/.idea/modules.xml | 8 + Telecast/.idea/workspace.xml | 468 ++++++++++++++++++ Telecast/TV/__init__.py | 0 .../TV/__pycache__/__init__.cpython-35.pyc | Bin 0 -> 133 bytes Telecast/TV/__pycache__/admin.cpython-35.pyc | Bin 0 -> 254 bytes Telecast/TV/__pycache__/models.cpython-35.pyc | Bin 0 -> 726 bytes Telecast/TV/__pycache__/urls.cpython-35.pyc | Bin 0 -> 413 bytes Telecast/TV/__pycache__/views.cpython-35.pyc | Bin 0 -> 1384 bytes Telecast/TV/admin.py | 6 + Telecast/TV/apps.py | 7 + Telecast/TV/migrations/0001_initial.py | 27 + Telecast/TV/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-35.pyc | Bin 0 -> 890 bytes .../__pycache__/__init__.cpython-35.pyc | Bin 0 -> 144 bytes Telecast/TV/models.py | 14 + Telecast/TV/templates/TV/edit.html | 15 + Telecast/TV/templates/TV/index.html | 29 ++ Telecast/TV/tests.py | 3 + Telecast/TV/urls.py | 10 + Telecast/TV/views.py | 36 ++ Telecast/Telecast/__init__.py | 0 .../__pycache__/__init__.cpython-35.pyc | Bin 0 -> 139 bytes .../__pycache__/settings.cpython-35.pyc | Bin 0 -> 2363 bytes .../Telecast/__pycache__/urls.cpython-35.pyc | Bin 0 -> 1028 bytes .../Telecast/__pycache__/wsgi.cpython-35.pyc | Bin 0 -> 563 bytes Telecast/Telecast/settings.py | 121 +++++ Telecast/Telecast/urls.py | 23 + Telecast/Telecast/wsgi.py | 16 + Telecast/db.sqlite3 | Bin 0 -> 38912 bytes Telecast/manage.py | 22 + 33 files changed, 1251 insertions(+) create mode 100644 TV/.idea/workspace.xml create mode 100644 Telecast/.idea/Telecast.iml create mode 100644 Telecast/.idea/misc.xml create mode 100644 Telecast/.idea/modules.xml create mode 100644 Telecast/.idea/workspace.xml create mode 100644 Telecast/TV/__init__.py create mode 100644 Telecast/TV/__pycache__/__init__.cpython-35.pyc create mode 100644 Telecast/TV/__pycache__/admin.cpython-35.pyc create mode 100644 Telecast/TV/__pycache__/models.cpython-35.pyc create mode 100644 Telecast/TV/__pycache__/urls.cpython-35.pyc create mode 100644 Telecast/TV/__pycache__/views.cpython-35.pyc create mode 100644 Telecast/TV/admin.py create mode 100644 Telecast/TV/apps.py create mode 100644 Telecast/TV/migrations/0001_initial.py create mode 100644 Telecast/TV/migrations/__init__.py create mode 100644 Telecast/TV/migrations/__pycache__/0001_initial.cpython-35.pyc create mode 100644 Telecast/TV/migrations/__pycache__/__init__.cpython-35.pyc create mode 100644 Telecast/TV/models.py create mode 100644 Telecast/TV/templates/TV/edit.html create mode 100644 Telecast/TV/templates/TV/index.html create mode 100644 Telecast/TV/tests.py create mode 100644 Telecast/TV/urls.py create mode 100644 Telecast/TV/views.py create mode 100644 Telecast/Telecast/__init__.py create mode 100644 Telecast/Telecast/__pycache__/__init__.cpython-35.pyc create mode 100644 Telecast/Telecast/__pycache__/settings.cpython-35.pyc create mode 100644 Telecast/Telecast/__pycache__/urls.cpython-35.pyc create mode 100644 Telecast/Telecast/__pycache__/wsgi.cpython-35.pyc create mode 100644 Telecast/Telecast/settings.py create mode 100644 Telecast/Telecast/urls.py create mode 100644 Telecast/Telecast/wsgi.py create mode 100644 Telecast/db.sqlite3 create mode 100755 Telecast/manage.py diff --git a/TV/.idea/workspace.xml b/TV/.idea/workspace.xml new file mode 100644 index 0000000..72fd2a5 --- /dev/null +++ b/TV/.idea/workspace.xml @@ -0,0 +1,431 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1481126154526 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Telecast/.idea/Telecast.iml b/Telecast/.idea/Telecast.iml new file mode 100644 index 0000000..6711606 --- /dev/null +++ b/Telecast/.idea/Telecast.iml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Telecast/.idea/misc.xml b/Telecast/.idea/misc.xml new file mode 100644 index 0000000..5bbe586 --- /dev/null +++ b/Telecast/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Telecast/.idea/modules.xml b/Telecast/.idea/modules.xml new file mode 100644 index 0000000..5a181dc --- /dev/null +++ b/Telecast/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Telecast/.idea/workspace.xml b/Telecast/.idea/workspace.xml new file mode 100644 index 0000000..f82b020 --- /dev/null +++ b/Telecast/.idea/workspace.xml @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1481132870695 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Telecast/TV/__init__.py b/Telecast/TV/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Telecast/TV/__pycache__/__init__.cpython-35.pyc b/Telecast/TV/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ef5f89661442bc2a4a0e33ed9a57ae9241951daf GIT binary patch literal 133 zcmWgR<>iX-_K08rg2x~N1{i@12OutH0TL+;48fX=ek&P@K*9*(myv!(er~FMdTMI6 zen>`YaArxWesWQ1if&4len@IgYI0(6iGE0!etdjpUS>&ryk0@&Ee@O9{FKt1R6CGa I#X!se05%jI-v9sr literal 0 HcmV?d00001 diff --git a/Telecast/TV/__pycache__/admin.cpython-35.pyc b/Telecast/TV/__pycache__/admin.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1eb0f978ca5e2be231bd45cd71cd08efe4074713 GIT binary patch literal 254 zcmX|5J8r^25PiFABMXU$DtB-ZwxL8QWr~Of3q|f6@5tEf+Gy7l)VV;ekt?}P#T8Oz zmPi@RJk9sLd0Z^!pRX@(X8_+E|0X$m<_K#B!!BR}Cr}CqBViP*gi|OL1POErx)h}F z5$6f^d3xhZS(o(YNnD>P<5@7_z}9u}DHY(v*2> z+Axy;g3q{phaatvgCpG#opf=eJ#XsTU(A!~bU~KtDvY`~=)3aje4VllQ(r7?;};?F IFV#~10-|9%c>n+a literal 0 HcmV?d00001 diff --git a/Telecast/TV/__pycache__/models.cpython-35.pyc b/Telecast/TV/__pycache__/models.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..12d78193404e54f5d396751fdda567aba5f994de GIT binary patch literal 726 zcmZWn&5qMB5FRIK{+db^hkb`0Xm|iXD^>z7^s-Tfa~NJ0KegE1sGqV*;nW!z6>-#!=Plq=^ zpz)#ffxVMH$N+vK9DwrS7{EQ=%s|fIdKI3q1gw}_4sBg^QgL1P$_Q-{3mXKqttjPb z`50WH*;{l9h!Pn~@3AyWLH2uKNHCER;*UsphM)+{iT*?45lKj#49A=lWCSv%2Ff|e z1VyLLE4D6e#5b;0yYCOD2NYBPL2aiLBNs`v6NByzP7W$^v}h;0LbDON9{@+ddTfKu z2CZlm?N;gCFEDdV`1>M1bdAdQN`20YgSy7qr?i*uK9j$aO%;*9ezgV58Bp)tGU>LAS9T4`w#I?tuD zm8oy~x@%o52P4KPkfK*Ed((AViFV8{Lm_XK=?%#kTRC$XVF9`j&C)4j&z>G{yxFWm x61N-r!Js%pjkrV}MZ53T^3x=5_JMwnG5@SO&CO6z7r&gEdrd>PM7Z>p{y#@{pc4Q9 literal 0 HcmV?d00001 diff --git a/Telecast/TV/__pycache__/urls.cpython-35.pyc b/Telecast/TV/__pycache__/urls.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..125c8c060b5c4f056fe5edb49557ba2c9d7e940d GIT binary patch literal 413 zcmZ9I%T59@6oyYbGcbS{T)-2!a7>uGH6iHIl`&yL3`Wd^9$|29X$MfYK8>%`tqa2w zn7Hy3qYImJ>-RVP)Ari!=0|jO`w0N=lz*#E(m*f(kw@1^HiBwcA&x>$YRwm#iGbi z%n_eNw7^kPp_r+a?8~KyFvVG{D-n%_wF=7@;}5bzu2LM@SL!B}4(srm(`8-u4WH9t Aod5s; literal 0 HcmV?d00001 diff --git a/Telecast/TV/__pycache__/views.cpython-35.pyc b/Telecast/TV/__pycache__/views.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..78b0f34f5458be627f786b997ea177bc1ea0be0b GIT binary patch literal 1384 zcmah}O>f&q5S`_hWLok^;uifBd5<9R z6I2n^f^tE1KzTrdM+2%tsw2uHs$5nPDpm> zU!r`IWS8WI&wC_OlAAv7lSJ9~`4-778fDwJz(QHz60PP^X}5c>>{;{oOil2o&z?Mf zl7+7K+}ewm%3L&aqg;n8Ot`)E;g?F58gJbSUQoDTe1h1~YN@nQ6CUL�_ES58UQw z1WPm%Gz;j4=$&9ut_78X-UVbsy7q!xV>SfZaOgUAc~+IiUiHT(gA$P69!+gsWs&Y; zG1qCK8y6N;rCD*n2Z%QdWvov9Ba>!s)m!_4^fu~GgTb_^)!H=S zE?AL6U%?NIJ;i9~f>K`fuptDso}3H8DhoBQ>S?Zs={^tK<8Yq?(`myFG8gdzJZ4yM z68D7O!~a(xH!DqZVt_X~Fy9lscj^$)=7x__$6 zXIeMf3!=Fjn)?E+z9Wq(mWstNJp`5}6nmmCehl;j)c?7a`^isuiGZFZVuyOqA~}FA zs{#UXC)=42MRZq0D7;4SIg*1LieYrPyfwXm&7mib?@FbtGj!3ssMU(3T;s>Nza~WBg>Zpg{@)#8A>|{yu~OhCu zk+Wic-W-`}qwQp2O{+4y5Y21nruYvH&RumJ&<<~E;L5CH~ye_Beqz1 jw>50u!`{B#->}Z2Qor-3!)zh!i-$nC6Zeu{+)F?keX_;d(f<6xvK<>fR z1JCV!P(I`xn06o!U>bn;PIN#7@STDIUJCS;SD8%k!N@6LZ+oareuYh zD>L%#AeWiul`IQm!<>T3q>jFMw#hl9Wqy)Da3V;<)OWH-Kt?{5?7|{+!de|v6??Gg zgCLOjy~ffu0x)NUfH69vS|Rx{W1nlTTv^)nWFafkWMhF#ECd#* zM5Cz~)jw{UICY1s1BXOM)Z2;c)kep2u3I;LQiX-_K08rg2x~N1{i@12OutH0TL+;48fX=ek&P@K*9*(m#uzAer~FMdTMI6 zen>`YaArxWesWQ1if&4len@IgYI0(6iGE0!er{%ZQDRAEeqOPDe0*kJW=VX!UP0w8 T4x8Nkl+v73JCL!(K+FID! + + + + Edit + + +
+ {% csrf_token %} + + +
+ + \ No newline at end of file diff --git a/Telecast/TV/templates/TV/index.html b/Telecast/TV/templates/TV/index.html new file mode 100644 index 0000000..10463fd --- /dev/null +++ b/Telecast/TV/templates/TV/index.html @@ -0,0 +1,29 @@ + + + + + index.html + {% load static %} + + +
Telecasts
+ +{% if tv_list %} +
    + {% for tv in tv_list %} +
  • +
      {{ tv.name }} +
    • {{ tv.description }}
    • +
    • {{ tv.duration }}
    • +
    • {{ tv.date }}
    • + Edit +
    + + {% endfor %} +
+{% else %} +

No telecasts are available.

+{% endif %} + + + \ No newline at end of file diff --git a/Telecast/TV/tests.py b/Telecast/TV/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/Telecast/TV/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Telecast/TV/urls.py b/Telecast/TV/urls.py new file mode 100644 index 0000000..cd4a682 --- /dev/null +++ b/Telecast/TV/urls.py @@ -0,0 +1,10 @@ +from django.conf.urls import url +from . import views + +app_name = "TV" +urlpatterns = [ + + url(r'^$', views.index, name='index'), + url(r'^(?P[0-9]*)/$', views.edit, name='edit'), + url(r'^(?P[0-9]*)/save/$', views.save, name='save') +] \ No newline at end of file diff --git a/Telecast/TV/views.py b/Telecast/TV/views.py new file mode 100644 index 0000000..ba0bad7 --- /dev/null +++ b/Telecast/TV/views.py @@ -0,0 +1,36 @@ +from django.shortcuts import render, get_object_or_404 +from django.http import HttpResponse, Http404, HttpResponseRedirect +from .models import TV +from django.urls import reverse + + +# Create your views here. + +def index(request): + tv_list = TV.objects.all() + context = {'tv_list': tv_list} + return render(request, 'TV/index.html', context) + + +def edit(request, id): + obj = get_object_or_404(TV, id=id) + return render(request, 'TV/edit.html', {'obj': obj}) + + +def save(request, id): + obj = get_object_or_404(TV, id=id) + try: + obj.description = request.POST['description'] + except KeyError: + return render(request, 'TV/edit.html', {'obj': obj}) + else: + return HttpResponseRedirect(reverse('index.html')) + + +def add(request): + tv = TV(name=request.POST['name'], description=request.POST['description'], + duration=request.POST['duration'], + date=request.POST['date'], + advert=request.POST['advert']) + tv.save() + return HttpResponseRedirect(reverse('TV:index')) diff --git a/Telecast/Telecast/__init__.py b/Telecast/Telecast/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Telecast/Telecast/__pycache__/__init__.cpython-35.pyc b/Telecast/Telecast/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00d587828971670a040264ba0a51387605e24178 GIT binary patch literal 139 zcmWgR<>gZF_K08rg2x~N1{i@12OutH0TL+;48fX=ek&P@K*9*(mxX>ter~FMdTMI6 zen>`YaArxWesWQ1if&4len@IgYI0(634#$HpP83g5+AQuP zHT_F^?Nk3kpL*ma_BhNmwdCugvwY{fN9Ww+#>z^mSl|2fbQ$0;nET)}yvHwln*tyJ zI<6@oX>d}Yr+}tlkcL6#oR9^&1Yc8=Th9T>fSw1E1-$@0#3=$<0)l!}7J%Sm3CJbr z>k_d>e zBeAETuL4;I{n}`ENDTGJ4c8k$Hb6&uX;9annVVR`QgvW@JzrpybKC1Nq3Z{NMjdLI zj0?lSA5e>nrP40-XkcInx57UqwC{ciI(s2!0w2n z5=Pe+wIT0EcNdgN2=zEW9a0wETre`q7}oT>!9|1F!-zYJ5ggxwmDHX^&nGt5Cd8p9 zWM2aVHkR0M^=@j8{?9yR1Or)_^A9I zFIAPD_HMi)*Xyk#rE2W8R85U9*P5z^DpX(#t8uAOt5)mEk$j-U%LlENX0#9Ll~(gZ zT-21teqGiSHNJYJ?$#3jdaWWS-5zHLzU{@us;tRLay7msx3xWEUslzl)T+|pE$=EurBziBw$@M#z139WLK|t<%G=GcR4;Ef<6NTCbli!CnJNjJKOuO4 zhyG~!XItv~E|q$e9!pvu8-r8H3POS>s5EWbnK1neB@R#H!durTp+nzYO8$L0#3h$r v&TQm!nOr)T%cN#kF*}npsbVIV&83oSrd`eD@)^|JD-|=zb)|q9<166xq-~@&rijxD5U8SRCFp@J71~3$ZtUI7Hnt<%0a}jz z2mXOy%9Rtpz=?5oqpm6;)lnwn$;_KKGxql8X8iNy=*!0rz;9St5$bR8wR034V1zON z9zqd-3}F;P;P)LUIv^t$MT>oO_g{8l)P+EVz`G#2z}Mh5fZGtfr3WH{`5Mf7-ZDkN zb>Qo8nryHiA;3@+B4gH(&!0Y!1Fa_cv@*=)TE+2jCdfr)ijp}ejItM`$kEg2$_eWO zEODBA&BZsHl0$8X)JBk8O|+2>1St!_tRPm1K}>MXoGa~sQm!+b@;OseT^cHw+kzAJAxB(#(qa~5o zV^)?+S|ne0)U8?AXKXB=3>G#=Mm_h~m6qsMnDc&xO% auGe2l&8tGZd4d?$1FZ#H_-uEc2LAweT{0B_ literal 0 HcmV?d00001 diff --git a/Telecast/Telecast/__pycache__/wsgi.cpython-35.pyc b/Telecast/Telecast/__pycache__/wsgi.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..16f1e9f79bb1254d8971b5c85fde8d30c7691f17 GIT binary patch literal 563 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