From 89de5e91c463a303721637c75134a0e1ca6f6cc5 Mon Sep 17 00:00:00 2001 From: Kyle Parker Date: Sat, 27 Dec 2025 16:13:43 +0000 Subject: [PATCH 1/3] finished tutorial... well 65 min of tutorial --- src/trydjango/db.sqlite3 | Bin 0 -> 139264 bytes src/trydjango/manage.py | 22 +++ src/trydjango/products/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 154 bytes .../__pycache__/admin.cpython-312.pyc | Bin 0 -> 332 bytes .../products/__pycache__/apps.cpython-312.pyc | Bin 0 -> 403 bytes .../__pycache__/models.cpython-312.pyc | Bin 0 -> 862 bytes .../__pycache__/views.cpython-312.pyc | Bin 0 -> 566 bytes src/trydjango/products/admin.py | 6 + src/trydjango/products/apps.py | 5 + .../products/migrations/0001_initial.py | 31 ++++ .../migrations/0002_product_featured.py | 19 +++ .../migrations/0003_alter_product_summary.py | 18 +++ src/trydjango/products/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-312.pyc | Bin 0 -> 1172 bytes .../0002_product_featured.cpython-312.pyc | Bin 0 -> 756 bytes ...0003_alter_product_summary.cpython-312.pyc | Bin 0 -> 741 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 165 bytes src/trydjango/products/models.py | 9 ++ src/trydjango/products/tests.py | 3 + src/trydjango/products/views.py | 9 ++ src/trydjango/trydjango/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 155 bytes .../__pycache__/settings.cpython-312.pyc | Bin 0 -> 2686 bytes .../__pycache__/urls.cpython-312.pyc | Bin 0 -> 1222 bytes .../__pycache__/wsgi.cpython-312.pyc | Bin 0 -> 647 bytes src/trydjango/trydjango/asgi.py | 16 +++ src/trydjango/trydjango/settings.py | 134 ++++++++++++++++++ src/trydjango/trydjango/urls.py | 26 ++++ src/trydjango/trydjango/wsgi.py | 16 +++ 30 files changed, 314 insertions(+) create mode 100644 src/trydjango/db.sqlite3 create mode 100755 src/trydjango/manage.py create mode 100644 src/trydjango/products/__init__.py create mode 100644 src/trydjango/products/__pycache__/__init__.cpython-312.pyc create mode 100644 src/trydjango/products/__pycache__/admin.cpython-312.pyc create mode 100644 src/trydjango/products/__pycache__/apps.cpython-312.pyc create mode 100644 src/trydjango/products/__pycache__/models.cpython-312.pyc create mode 100644 src/trydjango/products/__pycache__/views.cpython-312.pyc create mode 100644 src/trydjango/products/admin.py create mode 100644 src/trydjango/products/apps.py create mode 100644 src/trydjango/products/migrations/0001_initial.py create mode 100644 src/trydjango/products/migrations/0002_product_featured.py create mode 100644 src/trydjango/products/migrations/0003_alter_product_summary.py create mode 100644 src/trydjango/products/migrations/__init__.py create mode 100644 src/trydjango/products/migrations/__pycache__/0001_initial.cpython-312.pyc create mode 100644 src/trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc create mode 100644 src/trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc create mode 100644 src/trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc create mode 100644 src/trydjango/products/models.py create mode 100644 src/trydjango/products/tests.py create mode 100644 src/trydjango/products/views.py create mode 100644 src/trydjango/trydjango/__init__.py create mode 100644 src/trydjango/trydjango/__pycache__/__init__.cpython-312.pyc create mode 100644 src/trydjango/trydjango/__pycache__/settings.cpython-312.pyc create mode 100644 src/trydjango/trydjango/__pycache__/urls.cpython-312.pyc create mode 100644 src/trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc create mode 100644 src/trydjango/trydjango/asgi.py create mode 100644 src/trydjango/trydjango/settings.py create mode 100644 src/trydjango/trydjango/urls.py create mode 100644 src/trydjango/trydjango/wsgi.py diff --git a/src/trydjango/db.sqlite3 b/src/trydjango/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..80db2f366ca4fbee7d39e54af511f223c9a2df21 GIT binary patch literal 139264 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 Q00JNY0w4eak3NC_2RIr4X8-^I literal 0 HcmV?d00001 diff --git a/src/trydjango/manage.py b/src/trydjango/manage.py new file mode 100755 index 00000000000..52a501d8461 --- /dev/null +++ b/src/trydjango/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.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/src/trydjango/products/__init__.py b/src/trydjango/products/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/trydjango/products/__pycache__/__init__.cpython-312.pyc b/src/trydjango/products/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f967dea7daea2cccfdc490ba00d158b254381e4 GIT binary patch literal 154 zcmX@j%ge<81aEEqGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!veYlnFUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gLDt6y>LsCYKcJ$H!;pWtPOp>lIY~;;_jDisq!+ X6|n+MVg%x15aS~=BO_xGGmr%Ubg(7f literal 0 HcmV?d00001 diff --git a/src/trydjango/products/__pycache__/admin.cpython-312.pyc b/src/trydjango/products/__pycache__/admin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..363e5f0cf3eb7051f9d8c36f5123b149e727c7dc GIT binary patch literal 332 zcmX@j%ge<81bgiLGb@1fV-N=hn4yf%K|scIh7^Vr#vF!R#wbQch7_h0<{YM6<|t-H zhE&EZ4wx1MoyCn{!&s@zs~I6|MutijP1ctnjwa(R*2I+D%)FN%IUtWcpeR43G`Yl2 zlkFB?N>*ZCdcIzAeqKpYW>OKzNw?T?^HWlDii=o59G2qDlGIxqMXBkT#U-glD;Yim zMHzmX>6hmhWfvDDCZ`tbyMPUGNzKjIFD^>fFDa^o7^`0Zv8h-e>;S!j%3mBdK*LLO zQtgU(fyRJbR4fl9J}@&fGTvoSc*-FCfsKKYt(~ip>pFw*MF!ys?pGOPia?$P0I0f6 A#Q*>R literal 0 HcmV?d00001 diff --git a/src/trydjango/products/__pycache__/apps.cpython-312.pyc b/src/trydjango/products/__pycache__/apps.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9b28be13381eb97eb6bbf4595d5779a1e562df21 GIT binary patch literal 403 zcmXv~Jx{|h5WP!M2u%wNz|Mk{rJmRT2@#2{uo4Cjnu@&{MA}dHBLFV%cN>Ek>~+lr&}3)Fhf`j|Ww;z9B#P9zELqkK{X zNmdXkVlopYYhFkA!takN`f23_fe}XZ3nl+6> j#n$eL+4M~8D5>w4dkTJRMErom-wnir<;@?c)VTfu@T_3t literal 0 HcmV?d00001 diff --git a/src/trydjango/products/__pycache__/models.cpython-312.pyc b/src/trydjango/products/__pycache__/models.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..52327797f6c9dbde8380e707b75931d55d5178a5 GIT binary patch literal 862 zcmZ{izi-n(6vyxUBfm&cWdY)s7$Sw@rIsooM1>e2v>-%Pq)c9n>$|2-&p$ZZBH4n} zfljdXUjQXT{seXysE9;$5))H4q`=aNJ6}RmA#Qm7zIUH@_wM<9s?{ohuP@q`e*gja zA)NWrXJWd>#UVfdK>`A3LkJYG0g$o}kcwePnD+<7Br?d!4jo?rj@IuA1^_;3oZ_y$ZsY7j`$e3Nsxur!yYNVsW zu=tlN|M$Gone!?+cj@2r2D6Y|?Ul_6D{j#UWnMbz@;HBgC2+eA!C^byZJ7$ww}~6> zF)hppnTT5brDe`3>^#DrAGpMciRwJEQh!7=qc%!)}C1TO8d z>VqgE*bU`wX$QM$Mlt#TrsBaTcdS;VF8TBKh{@xoKtNlldkqe{d*tpw&dTcZV)i^R5qvs!Q zkBuj1xr?LL*jVdtEO1|q<=2nt)%lg1rpC&$v=y{1`=vh<11ih9BEX!!#??vbo^14e idV{-S0+Y+!{8S-?-@)}?1s&dcv-6f5kl%pIJo67pYtGXE literal 0 HcmV?d00001 diff --git a/src/trydjango/products/__pycache__/views.cpython-312.pyc b/src/trydjango/products/__pycache__/views.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c83b6113c896652a9034fa888d1f4f187d35d733 GIT binary patch literal 566 zcmbtRF;Buk6uxUq1pzfNM8+B&WTCh?5f&Mk2+_fW#Wd}OA}!avJ0v(c_#gNU#Gm3I ziCZI+lbf*{lkeIZe}FG}-+lM)-n;j`d#P4;3EHbM7?&s^A8PY!T27KPBunBEj|L>9 zLrN9b0xi^sI&%Gq3=PjfEG!BQ^HZg*Xk6(@8C@|E@u^@98k@kT9s@V8nl3uxK6+9| zSQ3dXWaiQ5oL`fM)_{FN3P4va)>PUdPAs&C8MUf6RE z6A?Ks6L$B`nT~juh1?e4+7cFC8nGkb-prN4z8|x>Xhw^;JZ zBR4sEHEkkCj~-3Dw2`FEoJc%zYXZiElQX+*%EhThe$pL4$!*DawV6nL{Uex2IeEs^$y*6VF(LZBM#bb_N=lB?o zzg zsa1F?%uUdXD(_%qLgz(xgoZUQ5ly2}O=AO5GZDjzroE}@CMPp3ge~l{^r-?-6^-E4Pyu6u`r z%ZM~K-jl+KWG@Ml6RmXac&3xiwbQv1<23!Cr9SK?CR`kDo7W#*4pJDK@*X8u=Zv8CpFx8kYzrId(7dx6oU z{NWj44fZQ|!G(4RLs#KPem9p$j;Z{Qax!e`1q4C(D+3{W UDNhLUQM98@x7F!CfGM8!Kdpu=`Tzg` literal 0 HcmV?d00001 diff --git a/src/trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc b/src/trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a4d6552006242d452289944922fefccc5b34f377 GIT binary patch literal 756 zcmY*W&x_MQ6n>MWX%bqgMOdXPh-`&iHr2h#qOzB{jdCq$|BC?7`#S z_T*jZ{wJOaLd#q|>8a2aVJ|u}O{mV{&G)@|@6G$(``T0 zFTgnvASi+u`6$+W4S@zvfoP{dbc#l1m9)91`WpNC#BggrBylzF#Nm(yMVKZzH{+Dh zDDQ7_0O}=K9Sd*{6nsR$*9aOSU)O*dBh~P~DInS)^35Dw``<4aF)nITAx&ZPqCPd& zSk$v7mTPnSMb(jL&&pUz#{DAajb5*JABRa;gh9mXrJq{^8Wdwj$!iz!I-!GL92JMI zA%saWI0<6P4P|SCkVb^JGDdUCPAD#;kHn`IR*@KU2V;>rj;O#5jNgufNM=h$Xhsu4 zlYU5ZCa1}*$Alcps!XcjjVEau(I8PS?xYzlNBadMXYIEUtGJ?e5vVdAmDncR!PF?Y+hAyO(y&c9wd*ZGL#hZdN6a#2oE)Q@i9? zNmfGFpKi%86?;pdE9>EUZu_hwsN8VAEzD9!2>mtzxtC@WnP<+twKHq&`~pE#_Fq{q B!AJlA literal 0 HcmV?d00001 diff --git a/src/trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc b/src/trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00763cc11b9b120bdb1bffd3942c52ad2b729d96 GIT binary patch literal 741 zcmY*W&ui2`6n>LrXOqxM4Qi!Wk);SZxLNe71)(U277xWkE@Rx8E=lvtNrLV{Q0T#9 zZ~YgP_CN8oAnY<%Pu>=`BJ|`;HgWYGUcT?;y*KZB@7wyi4bmcb8Gb+jKNM-L(}2aU z1gAiOq8Jk7qeSyH1R6XAsvQH>8H#XQwECXuOYG}o!|nW3#MOkIgd-l5VU`vGCmCgN zFl4Ge_SzYoOjNoG-cjEj8?<45Z4ET!F|$Da>#u0yxr$Mivy`%Q7_x$^?FsvFTr&Pd zb>W5zSO@HVS#x1$Icqlg6&6a~X?5;Ri7w5D n%f;>TElJf$i(Asob%fAw49LB}YY3m%(~X_U#?CL0q^|x0fcd&W literal 0 HcmV?d00001 diff --git a/src/trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc b/src/trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aeb860cad5a6b68c6d185f8e5607846fec6a0e5b GIT binary patch literal 165 zcmX@j%ge<81aEEqGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!a?vl(FUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gLDt6y>LsCYKcJ=VqoCC6;97=N0S6$7kkcmc+;F i6;%G>u*n4~$Vs&;Vg(w?2*kx8#z$sGM#ds$APWG8DJoR} literal 0 HcmV?d00001 diff --git a/src/trydjango/products/models.py b/src/trydjango/products/models.py new file mode 100644 index 00000000000..523d7d4338a --- /dev/null +++ b/src/trydjango/products/models.py @@ -0,0 +1,9 @@ +from django.db import models + +# Create your models here. +class Product(models.Model): + title = models.CharField(max_length=120) # max_length => required + description = models.TextField(blank=True, null=True) + price = models.DecimalField(decimal_places=2, max_digits=10000) + summary = models.TextField(blank=False, null=True) + featured = models.BooleanField() \ No newline at end of file diff --git a/src/trydjango/products/tests.py b/src/trydjango/products/tests.py new file mode 100644 index 00000000000..7ce503c2dd9 --- /dev/null +++ b/src/trydjango/products/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/src/trydjango/products/views.py b/src/trydjango/products/views.py new file mode 100644 index 00000000000..01ebcecd1b4 --- /dev/null +++ b/src/trydjango/products/views.py @@ -0,0 +1,9 @@ +from django.http import HttpResponse +from django.shortcuts import render + +# Create your views here. +def home_view(*args, **kwargs): + return HttpResponse("

Hello World!

") + +def contact_view(*args, **kwargs): + return HttpResponse("

Contact Page

") \ No newline at end of file diff --git a/src/trydjango/trydjango/__init__.py b/src/trydjango/trydjango/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/trydjango/trydjango/__pycache__/__init__.cpython-312.pyc b/src/trydjango/trydjango/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d4533f8be87b3fc4968ba57365e14200c17b1ce2 GIT binary patch literal 155 zcmX@j%ge<81V=3WGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!veGZlFUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gE89;^Q;(GE3s)^$IF~aoFVMr*_hl5d>r$A z>U}&VhQdl5MU+IBLD8qIl0-2S?}n5VN+@aI&jCLP{0yuqShFat%p;#0K|U}0l+{@@ z|4XFHDmj!>7SIA(#4&WjO*0J2{}R$!Wf7f3r$Fl@S_+TDi zd%t*LB)+U6Q@4tQY7QN1UMThn;1tKOUvR5nyAGJ9?ckzr0lcYE-L{JGrMo&f)D3(I z{NvOvr9E=9Tt;?>a3c>B{~g;bW2+2sWoq~I4k=FpE|1{pE-vo$4Wnr2gcj|c;{$0H z0!LVPijOp-kIDb><=~wuM}PWvTw=XQQ=_}?opBCyi{MV*!IvLiBt6GK+c#Fwr`@&l zPfGo3PgX8oDRuVFKe@KEW?n;|-~JTY*XhN*(wF8=Z^f2NVJ~Ue9nILa33ZceSFS_8 zR=G8Ip3{0guB+4C{x*m3BeyU~&dRLh)I@Rwbo0jQ>S`(Eo!XS;rg~pp7hCuER#m8~ z&6X&OUNo>M#oheq2wcausH1Ol!F9SPX1RSh?U@;-Z-OmK_j{PQOEW@(34tqqS73rb z>w?AdtObRl==h~TyaZf2>USuC2rrNIOdTNuKh_+~1=-f=J}3EU2V(0;=6*g4I}U`K zvX@4@DXY@EPN3dQ+u|z0@*k?i+2JbixU1vGQ>xczV$mRt({b>yhYaeSpdF?RXAdz+ z+O+Z3D3McEU%clKhTeIwr*$4cLvr`m9nHjI&+k1lWtTl_cCPOj#4V3;C^mZr^gFi= z0N6s4j^wJrWRS;V;w=WH@Pw*xZ5;^9c1S7guFS%`tHn9^A@n14FOGGO%Fxf$d-VMb zx>skEkFxU~gNdvZ@#1&*$~Quz>P4!xmgFV)W>XEQxY(3yVncG5j}!5jbalVYAb-K- zcyWYxw7x-)>K1Ju=Y>2pbc(OKDPWFiXug=x*r+uGFVf(*1ZN&5hr2lwdQcHPjgZH- zgH)JKIttuzZGs)1`YqX~Skg`1(ELKbJJPTn_tu9ZZRwV7_RTuBx^(y0{_795A2mR8 z9OE&-?GFWL^iAyOop%wU*t*;&Ubrn++&H{Jpb^TA(rGWQsxbdm)r~p*PL-s(x+(Bgq2=Y z0+f;DrM7C-YF&UCD|mA)QIyqot6mWs>t0e8wwiTb79=lsPui&Y`t@3c_bbjzR(YBC zW0$-F-yM#(!D8y;+9ZdO&&_bY{64bZ!-!c9}Sx@=?7{QIoeS*V})a_{xMi zY~WkYC4ln(5|L$i4#O*GlS^sSY#nI$P9B#^y7ob*6t>?_r!O|Jn zy-uVSLxb$=LLwUi%RG}S4(5glCNHoDxy6Hg;c%|_nu&ap9fo81)T?AV8XJZ)nb06P zJjdi$pEEh|8qFRoatFD>&tJXBU3e7@=RhYK=qxkI`R6%h7!HA5BG@#iH{VWgTBFU$ m%vp%DF#L>JC=4=(a|?syVS0X$ID|vRAo}dm_bF!ua`Z1s#(2a4 literal 0 HcmV?d00001 diff --git a/src/trydjango/trydjango/__pycache__/urls.cpython-312.pyc b/src/trydjango/trydjango/__pycache__/urls.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..44d8f4bc00587ef9256b397070a75c6c1f2eeae6 GIT binary patch literal 1222 zcmb7D&ui2`7@cHix7%!gNVOov!-$7$q$VoZ!=e_k77HRp>}4-$n#}HIO)_C-*1A3E zt)6U8y?T{;^uG`fQb7!O5)a;5ikF_8nIyU>f(|74zR8>Sz3U~3^-;;@G!&)dK}_S zW}{_65)+D1mh6KBD`>~NBXK6514 z5#^a<+r(Wy<($VL4dpjg>gzKZz0s7Bu4Sj_0qJM%w;P4)dDX& zkPVDwnZpyzMbpk~FQ~6s;tFGzh|^D@;)JWNUJdOMh0BF-S-e+as~KX`xPGWh=KU-ws@s*%AX8mQ2H!?NY}UO zq7Ux*+}WzB70!KYA{%pEafDnqn<`XG5Dhn|yiHkSq!kL~OkJF^VBm8`t1=yz6_l0P zL_wctkcAv)P&SQ4Lhbw`aE3UbxTQmkS@@#ZR!l pJ-4&=an^i4YaYO+%+Kyz+iUH%_7-;+58#EvF*vP1YtYkz^aoM7WzYZs literal 0 HcmV?d00001 diff --git a/src/trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc b/src/trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c632d599efcaaca53978badb19d26db84757c683 GIT binary patch literal 647 zcmYjPF>ezw6t?d|Q(b6;D%#mXERo47T6oG`e34|EfK-oIsOPV%s@cW*hzW064@~5q>0J-@1u*=_JgnkvpDoU4N ze(1n^#84kG%shen*kxaMso(c80zBSaQLgj2a*bDrmDr6lZ&_jFA@I*GTm6lhSKB!G z9=z(c+9XkO$VX(TG_iWd#<3hJl4&)D#D+o8wglc}%77vE2*{EW3lSd*Ah97aNfkR5 za9_X#1ewH|FIqBAfsw%=&N9K1*m5NY12^xf(@B*E!ljc;7Y(AM8_o?Gasl^<0SJz) z&CEWfOeH2PEfh!9lyz>P0WQjhD}xC)-#1hX$BKedEkf)hVikmd1X!W1DY3}F81hD>DMNU6EL)~c8{_^CGIe+S^)bf(yfQA$w-FA0qX$2b_ck~UzM-AZXy<%4Jg+ytqUO)) OoiEk9rxktEk^Tc|-oBs! literal 0 HcmV?d00001 diff --git a/src/trydjango/trydjango/asgi.py b/src/trydjango/trydjango/asgi.py new file mode 100644 index 00000000000..b3c77ac116d --- /dev/null +++ b/src/trydjango/trydjango/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for trydjango 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/6.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.settings') + +application = get_asgi_application() diff --git a/src/trydjango/trydjango/settings.py b/src/trydjango/trydjango/settings.py new file mode 100644 index 00000000000..13afe75659e --- /dev/null +++ b/src/trydjango/trydjango/settings.py @@ -0,0 +1,134 @@ +""" +Django settings for trydjango project. + +Generated by 'django-admin startproject' using Django 6.0. + +For more information on this file, see +https://docs.djangoproject.com/en/6.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/6.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-q+sprldb8*d%g1!x)u5x*+2)cj!x5f1m5d4@%do7t+j)9mfp*o' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +# added to run codespace +ALLOWED_HOSTS = [ + "localhost", + "127.0.0.1", + ".app.github.dev", +] + +# added to run codespace +CSRF_TRUSTED_ORIGINS = [ + "https://*.app.github.dev", + "https://localhost:8000", +] + +# added to run codespace +SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") +USE_X_FORWARDED_HOST = True + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + # own + 'products', +] + +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 = 'trydjango.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'trydjango.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/6.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/6.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/6.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/6.0/howto/static-files/ + +STATIC_URL = 'static/' diff --git a/src/trydjango/trydjango/urls.py b/src/trydjango/trydjango/urls.py new file mode 100644 index 00000000000..2b66c45a0df --- /dev/null +++ b/src/trydjango/trydjango/urls.py @@ -0,0 +1,26 @@ +""" +URL configuration for trydjango project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/6.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 path + +from products import views + +urlpatterns = [ + path('', views.home_view, name='home'), + path('contact/', views.contact_view), + path('admin/', admin.site.urls), +] diff --git a/src/trydjango/trydjango/wsgi.py b/src/trydjango/trydjango/wsgi.py new file mode 100644 index 00000000000..5593f141dc2 --- /dev/null +++ b/src/trydjango/trydjango/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for trydjango 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/6.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.settings') + +application = get_wsgi_application() From e0ee33ae6fce1a1343309e46957f12c273de0d03 Mon Sep 17 00:00:00 2001 From: Kyle Parker Date: Mon, 29 Dec 2025 21:39:16 +0000 Subject: [PATCH 2/3] initial commit --- trydjango/db.sqlite3 | Bin 0 -> 139264 bytes trydjango/manage.py | 22 +++ trydjango/products/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 154 bytes .../__pycache__/admin.cpython-312.pyc | Bin 0 -> 332 bytes .../products/__pycache__/apps.cpython-312.pyc | Bin 0 -> 403 bytes .../__pycache__/models.cpython-312.pyc | Bin 0 -> 862 bytes .../__pycache__/views.cpython-312.pyc | Bin 0 -> 566 bytes trydjango/products/admin.py | 6 + trydjango/products/apps.py | 5 + trydjango/products/migrations/0001_initial.py | 31 ++++ .../migrations/0002_product_featured.py | 19 +++ .../migrations/0003_alter_product_summary.py | 18 +++ trydjango/products/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-312.pyc | Bin 0 -> 1172 bytes .../0002_product_featured.cpython-312.pyc | Bin 0 -> 756 bytes ...0003_alter_product_summary.cpython-312.pyc | Bin 0 -> 741 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 165 bytes trydjango/products/models.py | 9 ++ trydjango/products/tests.py | 3 + trydjango/products/views.py | 9 ++ trydjango/trydjango/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 155 bytes .../__pycache__/settings.cpython-312.pyc | Bin 0 -> 2686 bytes .../__pycache__/urls.cpython-312.pyc | Bin 0 -> 1222 bytes .../__pycache__/wsgi.cpython-312.pyc | Bin 0 -> 647 bytes trydjango/trydjango/asgi.py | 16 +++ trydjango/trydjango/settings.py | 134 ++++++++++++++++++ trydjango/trydjango/urls.py | 26 ++++ trydjango/trydjango/wsgi.py | 16 +++ 30 files changed, 314 insertions(+) create mode 100644 trydjango/db.sqlite3 create mode 100755 trydjango/manage.py create mode 100644 trydjango/products/__init__.py create mode 100644 trydjango/products/__pycache__/__init__.cpython-312.pyc create mode 100644 trydjango/products/__pycache__/admin.cpython-312.pyc create mode 100644 trydjango/products/__pycache__/apps.cpython-312.pyc create mode 100644 trydjango/products/__pycache__/models.cpython-312.pyc create mode 100644 trydjango/products/__pycache__/views.cpython-312.pyc create mode 100644 trydjango/products/admin.py create mode 100644 trydjango/products/apps.py create mode 100644 trydjango/products/migrations/0001_initial.py create mode 100644 trydjango/products/migrations/0002_product_featured.py create mode 100644 trydjango/products/migrations/0003_alter_product_summary.py create mode 100644 trydjango/products/migrations/__init__.py create mode 100644 trydjango/products/migrations/__pycache__/0001_initial.cpython-312.pyc create mode 100644 trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc create mode 100644 trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc create mode 100644 trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc create mode 100644 trydjango/products/models.py create mode 100644 trydjango/products/tests.py create mode 100644 trydjango/products/views.py create mode 100644 trydjango/trydjango/__init__.py create mode 100644 trydjango/trydjango/__pycache__/__init__.cpython-312.pyc create mode 100644 trydjango/trydjango/__pycache__/settings.cpython-312.pyc create mode 100644 trydjango/trydjango/__pycache__/urls.cpython-312.pyc create mode 100644 trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc create mode 100644 trydjango/trydjango/asgi.py create mode 100644 trydjango/trydjango/settings.py create mode 100644 trydjango/trydjango/urls.py create mode 100644 trydjango/trydjango/wsgi.py diff --git a/trydjango/db.sqlite3 b/trydjango/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..80db2f366ca4fbee7d39e54af511f223c9a2df21 GIT binary patch literal 139264 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 Q00JNY0w4eak3NC_2RIr4X8-^I literal 0 HcmV?d00001 diff --git a/trydjango/manage.py b/trydjango/manage.py new file mode 100755 index 00000000000..52a501d8461 --- /dev/null +++ b/trydjango/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.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/trydjango/products/__init__.py b/trydjango/products/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/trydjango/products/__pycache__/__init__.cpython-312.pyc b/trydjango/products/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f967dea7daea2cccfdc490ba00d158b254381e4 GIT binary patch literal 154 zcmX@j%ge<81aEEqGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!veYlnFUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gLDt6y>LsCYKcJ$H!;pWtPOp>lIY~;;_jDisq!+ X6|n+MVg%x15aS~=BO_xGGmr%Ubg(7f literal 0 HcmV?d00001 diff --git a/trydjango/products/__pycache__/admin.cpython-312.pyc b/trydjango/products/__pycache__/admin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..363e5f0cf3eb7051f9d8c36f5123b149e727c7dc GIT binary patch literal 332 zcmX@j%ge<81bgiLGb@1fV-N=hn4yf%K|scIh7^Vr#vF!R#wbQch7_h0<{YM6<|t-H zhE&EZ4wx1MoyCn{!&s@zs~I6|MutijP1ctnjwa(R*2I+D%)FN%IUtWcpeR43G`Yl2 zlkFB?N>*ZCdcIzAeqKpYW>OKzNw?T?^HWlDii=o59G2qDlGIxqMXBkT#U-glD;Yim zMHzmX>6hmhWfvDDCZ`tbyMPUGNzKjIFD^>fFDa^o7^`0Zv8h-e>;S!j%3mBdK*LLO zQtgU(fyRJbR4fl9J}@&fGTvoSc*-FCfsKKYt(~ip>pFw*MF!ys?pGOPia?$P0I0f6 A#Q*>R literal 0 HcmV?d00001 diff --git a/trydjango/products/__pycache__/apps.cpython-312.pyc b/trydjango/products/__pycache__/apps.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9b28be13381eb97eb6bbf4595d5779a1e562df21 GIT binary patch literal 403 zcmXv~Jx{|h5WP!M2u%wNz|Mk{rJmRT2@#2{uo4Cjnu@&{MA}dHBLFV%cN>Ek>~+lr&}3)Fhf`j|Ww;z9B#P9zELqkK{X zNmdXkVlopYYhFkA!takN`f23_fe}XZ3nl+6> j#n$eL+4M~8D5>w4dkTJRMErom-wnir<;@?c)VTfu@T_3t literal 0 HcmV?d00001 diff --git a/trydjango/products/__pycache__/models.cpython-312.pyc b/trydjango/products/__pycache__/models.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..52327797f6c9dbde8380e707b75931d55d5178a5 GIT binary patch literal 862 zcmZ{izi-n(6vyxUBfm&cWdY)s7$Sw@rIsooM1>e2v>-%Pq)c9n>$|2-&p$ZZBH4n} zfljdXUjQXT{seXysE9;$5))H4q`=aNJ6}RmA#Qm7zIUH@_wM<9s?{ohuP@q`e*gja zA)NWrXJWd>#UVfdK>`A3LkJYG0g$o}kcwePnD+<7Br?d!4jo?rj@IuA1^_;3oZ_y$ZsY7j`$e3Nsxur!yYNVsW zu=tlN|M$Gone!?+cj@2r2D6Y|?Ul_6D{j#UWnMbz@;HBgC2+eA!C^byZJ7$ww}~6> zF)hppnTT5brDe`3>^#DrAGpMciRwJEQh!7=qc%!)}C1TO8d z>VqgE*bU`wX$QM$Mlt#TrsBaTcdS;VF8TBKh{@xoKtNlldkqe{d*tpw&dTcZV)i^R5qvs!Q zkBuj1xr?LL*jVdtEO1|q<=2nt)%lg1rpC&$v=y{1`=vh<11ih9BEX!!#??vbo^14e idV{-S0+Y+!{8S-?-@)}?1s&dcv-6f5kl%pIJo67pYtGXE literal 0 HcmV?d00001 diff --git a/trydjango/products/__pycache__/views.cpython-312.pyc b/trydjango/products/__pycache__/views.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c83b6113c896652a9034fa888d1f4f187d35d733 GIT binary patch literal 566 zcmbtRF;Buk6uxUq1pzfNM8+B&WTCh?5f&Mk2+_fW#Wd}OA}!avJ0v(c_#gNU#Gm3I ziCZI+lbf*{lkeIZe}FG}-+lM)-n;j`d#P4;3EHbM7?&s^A8PY!T27KPBunBEj|L>9 zLrN9b0xi^sI&%Gq3=PjfEG!BQ^HZg*Xk6(@8C@|E@u^@98k@kT9s@V8nl3uxK6+9| zSQ3dXWaiQ5oL`fM)_{FN3P4va)>PUdPAs&C8MUf6RE z6A?Ks6L$B`nT~juh1?e4+7cFC8nGkb-prN4z8|x>Xhw^;JZ zBR4sEHEkkCj~-3Dw2`FEoJc%zYXZiElQX+*%EhThe$pL4$!*DawV6nL{Uex2IeEs^$y*6VF(LZBM#bb_N=lB?o zzg zsa1F?%uUdXD(_%qLgz(xgoZUQ5ly2}O=AO5GZDjzroE}@CMPp3ge~l{^r-?-6^-E4Pyu6u`r z%ZM~K-jl+KWG@Ml6RmXac&3xiwbQv1<23!Cr9SK?CR`kDo7W#*4pJDK@*X8u=Zv8CpFx8kYzrId(7dx6oU z{NWj44fZQ|!G(4RLs#KPem9p$j;Z{Qax!e`1q4C(D+3{W UDNhLUQM98@x7F!CfGM8!Kdpu=`Tzg` literal 0 HcmV?d00001 diff --git a/trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc b/trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a4d6552006242d452289944922fefccc5b34f377 GIT binary patch literal 756 zcmY*W&x_MQ6n>MWX%bqgMOdXPh-`&iHr2h#qOzB{jdCq$|BC?7`#S z_T*jZ{wJOaLd#q|>8a2aVJ|u}O{mV{&G)@|@6G$(``T0 zFTgnvASi+u`6$+W4S@zvfoP{dbc#l1m9)91`WpNC#BggrBylzF#Nm(yMVKZzH{+Dh zDDQ7_0O}=K9Sd*{6nsR$*9aOSU)O*dBh~P~DInS)^35Dw``<4aF)nITAx&ZPqCPd& zSk$v7mTPnSMb(jL&&pUz#{DAajb5*JABRa;gh9mXrJq{^8Wdwj$!iz!I-!GL92JMI zA%saWI0<6P4P|SCkVb^JGDdUCPAD#;kHn`IR*@KU2V;>rj;O#5jNgufNM=h$Xhsu4 zlYU5ZCa1}*$Alcps!XcjjVEau(I8PS?xYzlNBadMXYIEUtGJ?e5vVdAmDncR!PF?Y+hAyO(y&c9wd*ZGL#hZdN6a#2oE)Q@i9? zNmfGFpKi%86?;pdE9>EUZu_hwsN8VAEzD9!2>mtzxtC@WnP<+twKHq&`~pE#_Fq{q B!AJlA literal 0 HcmV?d00001 diff --git a/trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc b/trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00763cc11b9b120bdb1bffd3942c52ad2b729d96 GIT binary patch literal 741 zcmY*W&ui2`6n>LrXOqxM4Qi!Wk);SZxLNe71)(U277xWkE@Rx8E=lvtNrLV{Q0T#9 zZ~YgP_CN8oAnY<%Pu>=`BJ|`;HgWYGUcT?;y*KZB@7wyi4bmcb8Gb+jKNM-L(}2aU z1gAiOq8Jk7qeSyH1R6XAsvQH>8H#XQwECXuOYG}o!|nW3#MOkIgd-l5VU`vGCmCgN zFl4Ge_SzYoOjNoG-cjEj8?<45Z4ET!F|$Da>#u0yxr$Mivy`%Q7_x$^?FsvFTr&Pd zb>W5zSO@HVS#x1$Icqlg6&6a~X?5;Ri7w5D n%f;>TElJf$i(Asob%fAw49LB}YY3m%(~X_U#?CL0q^|x0fcd&W literal 0 HcmV?d00001 diff --git a/trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc b/trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aeb860cad5a6b68c6d185f8e5607846fec6a0e5b GIT binary patch literal 165 zcmX@j%ge<81aEEqGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!a?vl(FUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gLDt6y>LsCYKcJ=VqoCC6;97=N0S6$7kkcmc+;F i6;%G>u*n4~$Vs&;Vg(w?2*kx8#z$sGM#ds$APWG8DJoR} literal 0 HcmV?d00001 diff --git a/trydjango/products/models.py b/trydjango/products/models.py new file mode 100644 index 00000000000..523d7d4338a --- /dev/null +++ b/trydjango/products/models.py @@ -0,0 +1,9 @@ +from django.db import models + +# Create your models here. +class Product(models.Model): + title = models.CharField(max_length=120) # max_length => required + description = models.TextField(blank=True, null=True) + price = models.DecimalField(decimal_places=2, max_digits=10000) + summary = models.TextField(blank=False, null=True) + featured = models.BooleanField() \ No newline at end of file diff --git a/trydjango/products/tests.py b/trydjango/products/tests.py new file mode 100644 index 00000000000..7ce503c2dd9 --- /dev/null +++ b/trydjango/products/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/trydjango/products/views.py b/trydjango/products/views.py new file mode 100644 index 00000000000..01ebcecd1b4 --- /dev/null +++ b/trydjango/products/views.py @@ -0,0 +1,9 @@ +from django.http import HttpResponse +from django.shortcuts import render + +# Create your views here. +def home_view(*args, **kwargs): + return HttpResponse("

Hello World!

") + +def contact_view(*args, **kwargs): + return HttpResponse("

Contact Page

") \ No newline at end of file diff --git a/trydjango/trydjango/__init__.py b/trydjango/trydjango/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/trydjango/trydjango/__pycache__/__init__.cpython-312.pyc b/trydjango/trydjango/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d4533f8be87b3fc4968ba57365e14200c17b1ce2 GIT binary patch literal 155 zcmX@j%ge<81V=3WGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!veGZlFUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gE89;^Q;(GE3s)^$IF~aoFVMr*_hl5d>r$A z>U}&VhQdl5MU+IBLD8qIl0-2S?}n5VN+@aI&jCLP{0yuqShFat%p;#0K|U}0l+{@@ z|4XFHDmj!>7SIA(#4&WjO*0J2{}R$!Wf7f3r$Fl@S_+TDi zd%t*LB)+U6Q@4tQY7QN1UMThn;1tKOUvR5nyAGJ9?ckzr0lcYE-L{JGrMo&f)D3(I z{NvOvr9E=9Tt;?>a3c>B{~g;bW2+2sWoq~I4k=FpE|1{pE-vo$4Wnr2gcj|c;{$0H z0!LVPijOp-kIDb><=~wuM}PWvTw=XQQ=_}?opBCyi{MV*!IvLiBt6GK+c#Fwr`@&l zPfGo3PgX8oDRuVFKe@KEW?n;|-~JTY*XhN*(wF8=Z^f2NVJ~Ue9nILa33ZceSFS_8 zR=G8Ip3{0guB+4C{x*m3BeyU~&dRLh)I@Rwbo0jQ>S`(Eo!XS;rg~pp7hCuER#m8~ z&6X&OUNo>M#oheq2wcausH1Ol!F9SPX1RSh?U@;-Z-OmK_j{PQOEW@(34tqqS73rb z>w?AdtObRl==h~TyaZf2>USuC2rrNIOdTNuKh_+~1=-f=J}3EU2V(0;=6*g4I}U`K zvX@4@DXY@EPN3dQ+u|z0@*k?i+2JbixU1vGQ>xczV$mRt({b>yhYaeSpdF?RXAdz+ z+O+Z3D3McEU%clKhTeIwr*$4cLvr`m9nHjI&+k1lWtTl_cCPOj#4V3;C^mZr^gFi= z0N6s4j^wJrWRS;V;w=WH@Pw*xZ5;^9c1S7guFS%`tHn9^A@n14FOGGO%Fxf$d-VMb zx>skEkFxU~gNdvZ@#1&*$~Quz>P4!xmgFV)W>XEQxY(3yVncG5j}!5jbalVYAb-K- zcyWYxw7x-)>K1Ju=Y>2pbc(OKDPWFiXug=x*r+uGFVf(*1ZN&5hr2lwdQcHPjgZH- zgH)JKIttuzZGs)1`YqX~Skg`1(ELKbJJPTn_tu9ZZRwV7_RTuBx^(y0{_795A2mR8 z9OE&-?GFWL^iAyOop%wU*t*;&Ubrn++&H{Jpb^TA(rGWQsxbdm)r~p*PL-s(x+(Bgq2=Y z0+f;DrM7C-YF&UCD|mA)QIyqot6mWs>t0e8wwiTb79=lsPui&Y`t@3c_bbjzR(YBC zW0$-F-yM#(!D8y;+9ZdO&&_bY{64bZ!-!c9}Sx@=?7{QIoeS*V})a_{xMi zY~WkYC4ln(5|L$i4#O*GlS^sSY#nI$P9B#^y7ob*6t>?_r!O|Jn zy-uVSLxb$=LLwUi%RG}S4(5glCNHoDxy6Hg;c%|_nu&ap9fo81)T?AV8XJZ)nb06P zJjdi$pEEh|8qFRoatFD>&tJXBU3e7@=RhYK=qxkI`R6%h7!HA5BG@#iH{VWgTBFU$ m%vp%DF#L>JC=4=(a|?syVS0X$ID|vRAo}dm_bF!ua`Z1s#(2a4 literal 0 HcmV?d00001 diff --git a/trydjango/trydjango/__pycache__/urls.cpython-312.pyc b/trydjango/trydjango/__pycache__/urls.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..44d8f4bc00587ef9256b397070a75c6c1f2eeae6 GIT binary patch literal 1222 zcmb7D&ui2`7@cHix7%!gNVOov!-$7$q$VoZ!=e_k77HRp>}4-$n#}HIO)_C-*1A3E zt)6U8y?T{;^uG`fQb7!O5)a;5ikF_8nIyU>f(|74zR8>Sz3U~3^-;;@G!&)dK}_S zW}{_65)+D1mh6KBD`>~NBXK6514 z5#^a<+r(Wy<($VL4dpjg>gzKZz0s7Bu4Sj_0qJM%w;P4)dDX& zkPVDwnZpyzMbpk~FQ~6s;tFGzh|^D@;)JWNUJdOMh0BF-S-e+as~KX`xPGWh=KU-ws@s*%AX8mQ2H!?NY}UO zq7Ux*+}WzB70!KYA{%pEafDnqn<`XG5Dhn|yiHkSq!kL~OkJF^VBm8`t1=yz6_l0P zL_wctkcAv)P&SQ4Lhbw`aE3UbxTQmkS@@#ZR!l pJ-4&=an^i4YaYO+%+Kyz+iUH%_7-;+58#EvF*vP1YtYkz^aoM7WzYZs literal 0 HcmV?d00001 diff --git a/trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc b/trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c632d599efcaaca53978badb19d26db84757c683 GIT binary patch literal 647 zcmYjPF>ezw6t?d|Q(b6;D%#mXERo47T6oG`e34|EfK-oIsOPV%s@cW*hzW064@~5q>0J-@1u*=_JgnkvpDoU4N ze(1n^#84kG%shen*kxaMso(c80zBSaQLgj2a*bDrmDr6lZ&_jFA@I*GTm6lhSKB!G z9=z(c+9XkO$VX(TG_iWd#<3hJl4&)D#D+o8wglc}%77vE2*{EW3lSd*Ah97aNfkR5 za9_X#1ewH|FIqBAfsw%=&N9K1*m5NY12^xf(@B*E!ljc;7Y(AM8_o?Gasl^<0SJz) z&CEWfOeH2PEfh!9lyz>P0WQjhD}xC)-#1hX$BKedEkf)hVikmd1X!W1DY3}F81hD>DMNU6EL)~c8{_^CGIe+S^)bf(yfQA$w-FA0qX$2b_ck~UzM-AZXy<%4Jg+ytqUO)) OoiEk9rxktEk^Tc|-oBs! literal 0 HcmV?d00001 diff --git a/trydjango/trydjango/asgi.py b/trydjango/trydjango/asgi.py new file mode 100644 index 00000000000..b3c77ac116d --- /dev/null +++ b/trydjango/trydjango/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for trydjango 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/6.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.settings') + +application = get_asgi_application() diff --git a/trydjango/trydjango/settings.py b/trydjango/trydjango/settings.py new file mode 100644 index 00000000000..13afe75659e --- /dev/null +++ b/trydjango/trydjango/settings.py @@ -0,0 +1,134 @@ +""" +Django settings for trydjango project. + +Generated by 'django-admin startproject' using Django 6.0. + +For more information on this file, see +https://docs.djangoproject.com/en/6.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/6.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-q+sprldb8*d%g1!x)u5x*+2)cj!x5f1m5d4@%do7t+j)9mfp*o' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +# added to run codespace +ALLOWED_HOSTS = [ + "localhost", + "127.0.0.1", + ".app.github.dev", +] + +# added to run codespace +CSRF_TRUSTED_ORIGINS = [ + "https://*.app.github.dev", + "https://localhost:8000", +] + +# added to run codespace +SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") +USE_X_FORWARDED_HOST = True + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + # own + 'products', +] + +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 = 'trydjango.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'trydjango.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/6.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/6.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/6.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/6.0/howto/static-files/ + +STATIC_URL = 'static/' diff --git a/trydjango/trydjango/urls.py b/trydjango/trydjango/urls.py new file mode 100644 index 00000000000..2b66c45a0df --- /dev/null +++ b/trydjango/trydjango/urls.py @@ -0,0 +1,26 @@ +""" +URL configuration for trydjango project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/6.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 path + +from products import views + +urlpatterns = [ + path('', views.home_view, name='home'), + path('contact/', views.contact_view), + path('admin/', admin.site.urls), +] diff --git a/trydjango/trydjango/wsgi.py b/trydjango/trydjango/wsgi.py new file mode 100644 index 00000000000..5593f141dc2 --- /dev/null +++ b/trydjango/trydjango/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for trydjango 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/6.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.settings') + +application = get_wsgi_application() From 2ae91b2201993f6365409dd69f286384d3ded133 Mon Sep 17 00:00:00 2001 From: Kyle Parker Date: Mon, 29 Dec 2025 21:59:25 +0000 Subject: [PATCH 3/3] deleted django files --- trydjango/db.sqlite3 | Bin 139264 -> 0 bytes trydjango/manage.py | 22 --- trydjango/products/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 154 -> 0 bytes .../__pycache__/admin.cpython-312.pyc | Bin 332 -> 0 bytes .../products/__pycache__/apps.cpython-312.pyc | Bin 403 -> 0 bytes .../__pycache__/models.cpython-312.pyc | Bin 862 -> 0 bytes .../__pycache__/views.cpython-312.pyc | Bin 566 -> 0 bytes trydjango/products/admin.py | 6 - trydjango/products/apps.py | 5 - trydjango/products/migrations/0001_initial.py | 31 ---- .../migrations/0002_product_featured.py | 19 --- .../migrations/0003_alter_product_summary.py | 18 --- trydjango/products/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-312.pyc | Bin 1172 -> 0 bytes .../0002_product_featured.cpython-312.pyc | Bin 756 -> 0 bytes ...0003_alter_product_summary.cpython-312.pyc | Bin 741 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 165 -> 0 bytes trydjango/products/models.py | 9 -- trydjango/products/tests.py | 3 - trydjango/products/views.py | 9 -- trydjango/trydjango/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 155 -> 0 bytes .../__pycache__/settings.cpython-312.pyc | Bin 2686 -> 0 bytes .../__pycache__/urls.cpython-312.pyc | Bin 1222 -> 0 bytes .../__pycache__/wsgi.cpython-312.pyc | Bin 647 -> 0 bytes trydjango/trydjango/asgi.py | 16 --- trydjango/trydjango/settings.py | 134 ------------------ trydjango/trydjango/urls.py | 26 ---- trydjango/trydjango/wsgi.py | 16 --- 30 files changed, 314 deletions(-) delete mode 100644 trydjango/db.sqlite3 delete mode 100755 trydjango/manage.py delete mode 100644 trydjango/products/__init__.py delete mode 100644 trydjango/products/__pycache__/__init__.cpython-312.pyc delete mode 100644 trydjango/products/__pycache__/admin.cpython-312.pyc delete mode 100644 trydjango/products/__pycache__/apps.cpython-312.pyc delete mode 100644 trydjango/products/__pycache__/models.cpython-312.pyc delete mode 100644 trydjango/products/__pycache__/views.cpython-312.pyc delete mode 100644 trydjango/products/admin.py delete mode 100644 trydjango/products/apps.py delete mode 100644 trydjango/products/migrations/0001_initial.py delete mode 100644 trydjango/products/migrations/0002_product_featured.py delete mode 100644 trydjango/products/migrations/0003_alter_product_summary.py delete mode 100644 trydjango/products/migrations/__init__.py delete mode 100644 trydjango/products/migrations/__pycache__/0001_initial.cpython-312.pyc delete mode 100644 trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc delete mode 100644 trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc delete mode 100644 trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc delete mode 100644 trydjango/products/models.py delete mode 100644 trydjango/products/tests.py delete mode 100644 trydjango/products/views.py delete mode 100644 trydjango/trydjango/__init__.py delete mode 100644 trydjango/trydjango/__pycache__/__init__.cpython-312.pyc delete mode 100644 trydjango/trydjango/__pycache__/settings.cpython-312.pyc delete mode 100644 trydjango/trydjango/__pycache__/urls.cpython-312.pyc delete mode 100644 trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc delete mode 100644 trydjango/trydjango/asgi.py delete mode 100644 trydjango/trydjango/settings.py delete mode 100644 trydjango/trydjango/urls.py delete mode 100644 trydjango/trydjango/wsgi.py diff --git a/trydjango/db.sqlite3 b/trydjango/db.sqlite3 deleted file mode 100644 index 80db2f366ca4fbee7d39e54af511f223c9a2df21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139264 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 Q00JNY0w4eak3NC_2RIr4X8-^I diff --git a/trydjango/manage.py b/trydjango/manage.py deleted file mode 100755 index 52a501d8461..00000000000 --- a/trydjango/manage.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env python -"""Django's command-line utility for administrative tasks.""" -import os -import sys - - -def main(): - """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.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/trydjango/products/__init__.py b/trydjango/products/__init__.py deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/trydjango/products/__pycache__/__init__.cpython-312.pyc b/trydjango/products/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 3f967dea7daea2cccfdc490ba00d158b254381e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmX@j%ge<81aEEqGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!veYlnFUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gLDt6y>LsCYKcJ$H!;pWtPOp>lIY~;;_jDisq!+ X6|n+MVg%x15aS~=BO_xGGmr%Ubg(7f diff --git a/trydjango/products/__pycache__/admin.cpython-312.pyc b/trydjango/products/__pycache__/admin.cpython-312.pyc deleted file mode 100644 index 363e5f0cf3eb7051f9d8c36f5123b149e727c7dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmX@j%ge<81bgiLGb@1fV-N=hn4yf%K|scIh7^Vr#vF!R#wbQch7_h0<{YM6<|t-H zhE&EZ4wx1MoyCn{!&s@zs~I6|MutijP1ctnjwa(R*2I+D%)FN%IUtWcpeR43G`Yl2 zlkFB?N>*ZCdcIzAeqKpYW>OKzNw?T?^HWlDii=o59G2qDlGIxqMXBkT#U-glD;Yim zMHzmX>6hmhWfvDDCZ`tbyMPUGNzKjIFD^>fFDa^o7^`0Zv8h-e>;S!j%3mBdK*LLO zQtgU(fyRJbR4fl9J}@&fGTvoSc*-FCfsKKYt(~ip>pFw*MF!ys?pGOPia?$P0I0f6 A#Q*>R diff --git a/trydjango/products/__pycache__/apps.cpython-312.pyc b/trydjango/products/__pycache__/apps.cpython-312.pyc deleted file mode 100644 index 9b28be13381eb97eb6bbf4595d5779a1e562df21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmXv~Jx{|h5WP!M2u%wNz|Mk{rJmRT2@#2{uo4Cjnu@&{MA}dHBLFV%cN>Ek>~+lr&}3)Fhf`j|Ww;z9B#P9zELqkK{X zNmdXkVlopYYhFkA!takN`f23_fe}XZ3nl+6> j#n$eL+4M~8D5>w4dkTJRMErom-wnir<;@?c)VTfu@T_3t diff --git a/trydjango/products/__pycache__/models.cpython-312.pyc b/trydjango/products/__pycache__/models.cpython-312.pyc deleted file mode 100644 index 52327797f6c9dbde8380e707b75931d55d5178a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmZ{izi-n(6vyxUBfm&cWdY)s7$Sw@rIsooM1>e2v>-%Pq)c9n>$|2-&p$ZZBH4n} zfljdXUjQXT{seXysE9;$5))H4q`=aNJ6}RmA#Qm7zIUH@_wM<9s?{ohuP@q`e*gja zA)NWrXJWd>#UVfdK>`A3LkJYG0g$o}kcwePnD+<7Br?d!4jo?rj@IuA1^_;3oZ_y$ZsY7j`$e3Nsxur!yYNVsW zu=tlN|M$Gone!?+cj@2r2D6Y|?Ul_6D{j#UWnMbz@;HBgC2+eA!C^byZJ7$ww}~6> zF)hppnTT5brDe`3>^#DrAGpMciRwJEQh!7=qc%!)}C1TO8d z>VqgE*bU`wX$QM$Mlt#TrsBaTcdS;VF8TBKh{@xoKtNlldkqe{d*tpw&dTcZV)i^R5qvs!Q zkBuj1xr?LL*jVdtEO1|q<=2nt)%lg1rpC&$v=y{1`=vh<11ih9BEX!!#??vbo^14e idV{-S0+Y+!{8S-?-@)}?1s&dcv-6f5kl%pIJo67pYtGXE diff --git a/trydjango/products/__pycache__/views.cpython-312.pyc b/trydjango/products/__pycache__/views.cpython-312.pyc deleted file mode 100644 index c83b6113c896652a9034fa888d1f4f187d35d733..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmbtRF;Buk6uxUq1pzfNM8+B&WTCh?5f&Mk2+_fW#Wd}OA}!avJ0v(c_#gNU#Gm3I ziCZI+lbf*{lkeIZe}FG}-+lM)-n;j`d#P4;3EHbM7?&s^A8PY!T27KPBunBEj|L>9 zLrN9b0xi^sI&%Gq3=PjfEG!BQ^HZg*Xk6(@8C@|E@u^@98k@kT9s@V8nl3uxK6+9| zSQ3dXWaiQ5oL`fM)_{FN3P4va)>PUdPAs&C8MUf6RE z6A?Ks6L$B`nT~juh1?e4+7cFC8nGkb-prN4z8|x>Xhw^;JZ zBR4sEHEkkCj~-3Dw2`FEoJc%zYXZiElQX+*%EhThe$pL4$!*DawV6nL{Uex2IeEs^$y*6VF(LZBM#bb_N=lB?o zzg zsa1F?%uUdXD(_%qLgz(xgoZUQ5ly2}O=AO5GZDjzroE}@CMPp3ge~l{^r-?-6^-E4Pyu6u`r z%ZM~K-jl+KWG@Ml6RmXac&3xiwbQv1<23!Cr9SK?CR`kDo7W#*4pJDK@*X8u=Zv8CpFx8kYzrId(7dx6oU z{NWj44fZQ|!G(4RLs#KPem9p$j;Z{Qax!e`1q4C(D+3{W UDNhLUQM98@x7F!CfGM8!Kdpu=`Tzg` diff --git a/trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc b/trydjango/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc deleted file mode 100644 index a4d6552006242d452289944922fefccc5b34f377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmY*W&x_MQ6n>MWX%bqgMOdXPh-`&iHr2h#qOzB{jdCq$|BC?7`#S z_T*jZ{wJOaLd#q|>8a2aVJ|u}O{mV{&G)@|@6G$(``T0 zFTgnvASi+u`6$+W4S@zvfoP{dbc#l1m9)91`WpNC#BggrBylzF#Nm(yMVKZzH{+Dh zDDQ7_0O}=K9Sd*{6nsR$*9aOSU)O*dBh~P~DInS)^35Dw``<4aF)nITAx&ZPqCPd& zSk$v7mTPnSMb(jL&&pUz#{DAajb5*JABRa;gh9mXrJq{^8Wdwj$!iz!I-!GL92JMI zA%saWI0<6P4P|SCkVb^JGDdUCPAD#;kHn`IR*@KU2V;>rj;O#5jNgufNM=h$Xhsu4 zlYU5ZCa1}*$Alcps!XcjjVEau(I8PS?xYzlNBadMXYIEUtGJ?e5vVdAmDncR!PF?Y+hAyO(y&c9wd*ZGL#hZdN6a#2oE)Q@i9? zNmfGFpKi%86?;pdE9>EUZu_hwsN8VAEzD9!2>mtzxtC@WnP<+twKHq&`~pE#_Fq{q B!AJlA diff --git a/trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc b/trydjango/products/migrations/__pycache__/0003_alter_product_summary.cpython-312.pyc deleted file mode 100644 index 00763cc11b9b120bdb1bffd3942c52ad2b729d96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 741 zcmY*W&ui2`6n>LrXOqxM4Qi!Wk);SZxLNe71)(U277xWkE@Rx8E=lvtNrLV{Q0T#9 zZ~YgP_CN8oAnY<%Pu>=`BJ|`;HgWYGUcT?;y*KZB@7wyi4bmcb8Gb+jKNM-L(}2aU z1gAiOq8Jk7qeSyH1R6XAsvQH>8H#XQwECXuOYG}o!|nW3#MOkIgd-l5VU`vGCmCgN zFl4Ge_SzYoOjNoG-cjEj8?<45Z4ET!F|$Da>#u0yxr$Mivy`%Q7_x$^?FsvFTr&Pd zb>W5zSO@HVS#x1$Icqlg6&6a~X?5;Ri7w5D n%f;>TElJf$i(Asob%fAw49LB}YY3m%(~X_U#?CL0q^|x0fcd&W diff --git a/trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc b/trydjango/products/migrations/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index aeb860cad5a6b68c6d185f8e5607846fec6a0e5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmX@j%ge<81aEEqGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!a?vl(FUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gLDt6y>LsCYKcJ=VqoCC6;97=N0S6$7kkcmc+;F i6;%G>u*n4~$Vs&;Vg(w?2*kx8#z$sGM#ds$APWG8DJoR} diff --git a/trydjango/products/models.py b/trydjango/products/models.py deleted file mode 100644 index 523d7d4338a..00000000000 --- a/trydjango/products/models.py +++ /dev/null @@ -1,9 +0,0 @@ -from django.db import models - -# Create your models here. -class Product(models.Model): - title = models.CharField(max_length=120) # max_length => required - description = models.TextField(blank=True, null=True) - price = models.DecimalField(decimal_places=2, max_digits=10000) - summary = models.TextField(blank=False, null=True) - featured = models.BooleanField() \ No newline at end of file diff --git a/trydjango/products/tests.py b/trydjango/products/tests.py deleted file mode 100644 index 7ce503c2dd9..00000000000 --- a/trydjango/products/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/trydjango/products/views.py b/trydjango/products/views.py deleted file mode 100644 index 01ebcecd1b4..00000000000 --- a/trydjango/products/views.py +++ /dev/null @@ -1,9 +0,0 @@ -from django.http import HttpResponse -from django.shortcuts import render - -# Create your views here. -def home_view(*args, **kwargs): - return HttpResponse("

Hello World!

") - -def contact_view(*args, **kwargs): - return HttpResponse("

Contact Page

") \ No newline at end of file diff --git a/trydjango/trydjango/__init__.py b/trydjango/trydjango/__init__.py deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/trydjango/trydjango/__pycache__/__init__.cpython-312.pyc b/trydjango/trydjango/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index d4533f8be87b3fc4968ba57365e14200c17b1ce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmX@j%ge<81V=3WGePuY5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!veGZlFUl@1NK8&G z)_2KD%uCOANzKjIFD^>fFDa@_0gE89;^Q;(GE3s)^$IF~aoFVMr*_hl5d>r$A z>U}&VhQdl5MU+IBLD8qIl0-2S?}n5VN+@aI&jCLP{0yuqShFat%p;#0K|U}0l+{@@ z|4XFHDmj!>7SIA(#4&WjO*0J2{}R$!Wf7f3r$Fl@S_+TDi zd%t*LB)+U6Q@4tQY7QN1UMThn;1tKOUvR5nyAGJ9?ckzr0lcYE-L{JGrMo&f)D3(I z{NvOvr9E=9Tt;?>a3c>B{~g;bW2+2sWoq~I4k=FpE|1{pE-vo$4Wnr2gcj|c;{$0H z0!LVPijOp-kIDb><=~wuM}PWvTw=XQQ=_}?opBCyi{MV*!IvLiBt6GK+c#Fwr`@&l zPfGo3PgX8oDRuVFKe@KEW?n;|-~JTY*XhN*(wF8=Z^f2NVJ~Ue9nILa33ZceSFS_8 zR=G8Ip3{0guB+4C{x*m3BeyU~&dRLh)I@Rwbo0jQ>S`(Eo!XS;rg~pp7hCuER#m8~ z&6X&OUNo>M#oheq2wcausH1Ol!F9SPX1RSh?U@;-Z-OmK_j{PQOEW@(34tqqS73rb z>w?AdtObRl==h~TyaZf2>USuC2rrNIOdTNuKh_+~1=-f=J}3EU2V(0;=6*g4I}U`K zvX@4@DXY@EPN3dQ+u|z0@*k?i+2JbixU1vGQ>xczV$mRt({b>yhYaeSpdF?RXAdz+ z+O+Z3D3McEU%clKhTeIwr*$4cLvr`m9nHjI&+k1lWtTl_cCPOj#4V3;C^mZr^gFi= z0N6s4j^wJrWRS;V;w=WH@Pw*xZ5;^9c1S7guFS%`tHn9^A@n14FOGGO%Fxf$d-VMb zx>skEkFxU~gNdvZ@#1&*$~Quz>P4!xmgFV)W>XEQxY(3yVncG5j}!5jbalVYAb-K- zcyWYxw7x-)>K1Ju=Y>2pbc(OKDPWFiXug=x*r+uGFVf(*1ZN&5hr2lwdQcHPjgZH- zgH)JKIttuzZGs)1`YqX~Skg`1(ELKbJJPTn_tu9ZZRwV7_RTuBx^(y0{_795A2mR8 z9OE&-?GFWL^iAyOop%wU*t*;&Ubrn++&H{Jpb^TA(rGWQsxbdm)r~p*PL-s(x+(Bgq2=Y z0+f;DrM7C-YF&UCD|mA)QIyqot6mWs>t0e8wwiTb79=lsPui&Y`t@3c_bbjzR(YBC zW0$-F-yM#(!D8y;+9ZdO&&_bY{64bZ!-!c9}Sx@=?7{QIoeS*V})a_{xMi zY~WkYC4ln(5|L$i4#O*GlS^sSY#nI$P9B#^y7ob*6t>?_r!O|Jn zy-uVSLxb$=LLwUi%RG}S4(5glCNHoDxy6Hg;c%|_nu&ap9fo81)T?AV8XJZ)nb06P zJjdi$pEEh|8qFRoatFD>&tJXBU3e7@=RhYK=qxkI`R6%h7!HA5BG@#iH{VWgTBFU$ m%vp%DF#L>JC=4=(a|?syVS0X$ID|vRAo}dm_bF!ua`Z1s#(2a4 diff --git a/trydjango/trydjango/__pycache__/urls.cpython-312.pyc b/trydjango/trydjango/__pycache__/urls.cpython-312.pyc deleted file mode 100644 index 44d8f4bc00587ef9256b397070a75c6c1f2eeae6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmb7D&ui2`7@cHix7%!gNVOov!-$7$q$VoZ!=e_k77HRp>}4-$n#}HIO)_C-*1A3E zt)6U8y?T{;^uG`fQb7!O5)a;5ikF_8nIyU>f(|74zR8>Sz3U~3^-;;@G!&)dK}_S zW}{_65)+D1mh6KBD`>~NBXK6514 z5#^a<+r(Wy<($VL4dpjg>gzKZz0s7Bu4Sj_0qJM%w;P4)dDX& zkPVDwnZpyzMbpk~FQ~6s;tFGzh|^D@;)JWNUJdOMh0BF-S-e+as~KX`xPGWh=KU-ws@s*%AX8mQ2H!?NY}UO zq7Ux*+}WzB70!KYA{%pEafDnqn<`XG5Dhn|yiHkSq!kL~OkJF^VBm8`t1=yz6_l0P zL_wctkcAv)P&SQ4Lhbw`aE3UbxTQmkS@@#ZR!l pJ-4&=an^i4YaYO+%+Kyz+iUH%_7-;+58#EvF*vP1YtYkz^aoM7WzYZs diff --git a/trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc b/trydjango/trydjango/__pycache__/wsgi.cpython-312.pyc deleted file mode 100644 index c632d599efcaaca53978badb19d26db84757c683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 647 zcmYjPF>ezw6t?d|Q(b6;D%#mXERo47T6oG`e34|EfK-oIsOPV%s@cW*hzW064@~5q>0J-@1u*=_JgnkvpDoU4N ze(1n^#84kG%shen*kxaMso(c80zBSaQLgj2a*bDrmDr6lZ&_jFA@I*GTm6lhSKB!G z9=z(c+9XkO$VX(TG_iWd#<3hJl4&)D#D+o8wglc}%77vE2*{EW3lSd*Ah97aNfkR5 za9_X#1ewH|FIqBAfsw%=&N9K1*m5NY12^xf(@B*E!ljc;7Y(AM8_o?Gasl^<0SJz) z&CEWfOeH2PEfh!9lyz>P0WQjhD}xC)-#1hX$BKedEkf)hVikmd1X!W1DY3}F81hD>DMNU6EL)~c8{_^CGIe+S^)bf(yfQA$w-FA0qX$2b_ck~UzM-AZXy<%4Jg+ytqUO)) OoiEk9rxktEk^Tc|-oBs! diff --git a/trydjango/trydjango/asgi.py b/trydjango/trydjango/asgi.py deleted file mode 100644 index b3c77ac116d..00000000000 --- a/trydjango/trydjango/asgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -ASGI config for trydjango 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/6.0/howto/deployment/asgi/ -""" - -import os - -from django.core.asgi import get_asgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.settings') - -application = get_asgi_application() diff --git a/trydjango/trydjango/settings.py b/trydjango/trydjango/settings.py deleted file mode 100644 index 13afe75659e..00000000000 --- a/trydjango/trydjango/settings.py +++ /dev/null @@ -1,134 +0,0 @@ -""" -Django settings for trydjango project. - -Generated by 'django-admin startproject' using Django 6.0. - -For more information on this file, see -https://docs.djangoproject.com/en/6.0/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/6.0/ref/settings/ -""" - -from pathlib import Path - -# Build paths inside the project like this: BASE_DIR / 'subdir'. -BASE_DIR = Path(__file__).resolve().parent.parent - - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-q+sprldb8*d%g1!x)u5x*+2)cj!x5f1m5d4@%do7t+j)9mfp*o' - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -# added to run codespace -ALLOWED_HOSTS = [ - "localhost", - "127.0.0.1", - ".app.github.dev", -] - -# added to run codespace -CSRF_TRUSTED_ORIGINS = [ - "https://*.app.github.dev", - "https://localhost:8000", -] - -# added to run codespace -SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") -USE_X_FORWARDED_HOST = True - -# Application definition - -INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - - # own - 'products', -] - -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 = 'trydjango.urls' - -TEMPLATES = [ - { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - ], - }, - }, -] - -WSGI_APPLICATION = 'trydjango.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/6.0/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', - } -} - - -# Password validation -# https://docs.djangoproject.com/en/6.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/6.0/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'UTC' - -USE_I18N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/6.0/howto/static-files/ - -STATIC_URL = 'static/' diff --git a/trydjango/trydjango/urls.py b/trydjango/trydjango/urls.py deleted file mode 100644 index 2b66c45a0df..00000000000 --- a/trydjango/trydjango/urls.py +++ /dev/null @@ -1,26 +0,0 @@ -""" -URL configuration for trydjango project. - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/6.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 path - -from products import views - -urlpatterns = [ - path('', views.home_view, name='home'), - path('contact/', views.contact_view), - path('admin/', admin.site.urls), -] diff --git a/trydjango/trydjango/wsgi.py b/trydjango/trydjango/wsgi.py deleted file mode 100644 index 5593f141dc2..00000000000 --- a/trydjango/trydjango/wsgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -WSGI config for trydjango 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/6.0/howto/deployment/wsgi/ -""" - -import os - -from django.core.wsgi import get_wsgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trydjango.settings') - -application = get_wsgi_application()