From 4a96c81e491a305ee4de2e49a673545c611b90c8 Mon Sep 17 00:00:00 2001 From: Ruben <125226745+ayeeeruben@users.noreply.github.com> Date: Mon, 12 Jan 2026 01:37:31 +0000 Subject: [PATCH 1/4] ruben_django_demo --- trydjango/src/db.sqlite3 | Bin 0 -> 139264 bytes trydjango/src/manage.py | 15 +++ trydjango/src/pages/__init__.py | 0 .../pages/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 145 bytes .../pages/__pycache__/admin.cpython-38.pyc | Bin 0 -> 186 bytes .../pages/__pycache__/models.cpython-38.pyc | Bin 0 -> 183 bytes .../pages/__pycache__/views.cpython-38.pyc | Bin 0 -> 380 bytes trydjango/src/pages/admin.py | 3 + trydjango/src/pages/apps.py | 5 + trydjango/src/pages/migrations/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 156 bytes trydjango/src/pages/models.py | 3 + trydjango/src/pages/tests.py | 3 + trydjango/src/pages/views.py | 6 + trydjango/src/products/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 148 bytes .../products/__pycache__/admin.cpython-38.pyc | Bin 0 -> 262 bytes .../__pycache__/models.cpython-38.pyc | Bin 0 -> 606 bytes trydjango/src/products/admin.py | 5 + trydjango/src/products/apps.py | 5 + .../src/products/migrations/0001_initial.py | 24 ++++ .../migrations/0002_product_featured.py | 18 +++ trydjango/src/products/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-38.pyc | Bin 0 -> 810 bytes .../0002_product_featured.cpython-38.pyc | Bin 0 -> 583 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 159 bytes trydjango/src/products/models.py | 9 ++ trydjango/src/products/tests.py | 3 + trydjango/src/products/views.py | 3 + trydjango/src/trydjango/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 149 bytes .../__pycache__/settings.cpython-38.pyc | Bin 0 -> 2319 bytes .../trydjango/__pycache__/urls.cpython-38.pyc | Bin 0 -> 1006 bytes .../trydjango/__pycache__/wsgi.cpython-38.pyc | Bin 0 -> 556 bytes trydjango/src/trydjango/settings.py | 123 ++++++++++++++++++ trydjango/src/trydjango/urls.py | 24 ++++ trydjango/src/trydjango/wsgi.py | 16 +++ 37 files changed, 265 insertions(+) create mode 100644 trydjango/src/db.sqlite3 create mode 100755 trydjango/src/manage.py create mode 100644 trydjango/src/pages/__init__.py create mode 100644 trydjango/src/pages/__pycache__/__init__.cpython-38.pyc create mode 100644 trydjango/src/pages/__pycache__/admin.cpython-38.pyc create mode 100644 trydjango/src/pages/__pycache__/models.cpython-38.pyc create mode 100644 trydjango/src/pages/__pycache__/views.cpython-38.pyc create mode 100644 trydjango/src/pages/admin.py create mode 100644 trydjango/src/pages/apps.py create mode 100644 trydjango/src/pages/migrations/__init__.py create mode 100644 trydjango/src/pages/migrations/__pycache__/__init__.cpython-38.pyc create mode 100644 trydjango/src/pages/models.py create mode 100644 trydjango/src/pages/tests.py create mode 100644 trydjango/src/pages/views.py create mode 100644 trydjango/src/products/__init__.py create mode 100644 trydjango/src/products/__pycache__/__init__.cpython-38.pyc create mode 100644 trydjango/src/products/__pycache__/admin.cpython-38.pyc create mode 100644 trydjango/src/products/__pycache__/models.cpython-38.pyc create mode 100644 trydjango/src/products/admin.py create mode 100644 trydjango/src/products/apps.py create mode 100644 trydjango/src/products/migrations/0001_initial.py create mode 100644 trydjango/src/products/migrations/0002_product_featured.py create mode 100644 trydjango/src/products/migrations/__init__.py create mode 100644 trydjango/src/products/migrations/__pycache__/0001_initial.cpython-38.pyc create mode 100644 trydjango/src/products/migrations/__pycache__/0002_product_featured.cpython-38.pyc create mode 100644 trydjango/src/products/migrations/__pycache__/__init__.cpython-38.pyc create mode 100644 trydjango/src/products/models.py create mode 100644 trydjango/src/products/tests.py create mode 100644 trydjango/src/products/views.py create mode 100644 trydjango/src/trydjango/__init__.py create mode 100644 trydjango/src/trydjango/__pycache__/__init__.cpython-38.pyc create mode 100644 trydjango/src/trydjango/__pycache__/settings.cpython-38.pyc create mode 100644 trydjango/src/trydjango/__pycache__/urls.cpython-38.pyc create mode 100644 trydjango/src/trydjango/__pycache__/wsgi.cpython-38.pyc create mode 100644 trydjango/src/trydjango/settings.py create mode 100644 trydjango/src/trydjango/urls.py create mode 100644 trydjango/src/trydjango/wsgi.py diff --git a/trydjango/src/db.sqlite3 b/trydjango/src/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..a9e7ddf15a9fed337520fb502fb6ab21af658fdc GIT binary patch literal 139264 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 literal 0 HcmV?d00001 diff --git a/trydjango/src/pages/__pycache__/views.cpython-38.pyc b/trydjango/src/pages/__pycache__/views.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7778c72884365c5fdbed72989fc302323dd3ff80 GIT binary patch literal 380 zcmYjMy-veG48F@BEu<0?V$8sjr6tZ#ZO0$%_DM4j#mVdN#3xQ=bXFTYrNLaead|q zyt6!z;XO;EFH*9U+Xz%A73{f<7sm8=3VYq5DqZ{E+?irj=`TIr;8aCJ$r9v@(F1kw3RjY-8ojfps zP>Q~&sQt2515W#$9oM>5PmYG}4tEgaFeY54VSfHQIK^6nDYpi}3GCTlxu(BCK$XM5 Y;ff=0f3l;j)pFaY87GEL8}r!z0h3@>@c;k- literal 0 HcmV?d00001 diff --git a/trydjango/src/pages/admin.py b/trydjango/src/pages/admin.py new file mode 100644 index 00000000000..8c38f3f3dad --- /dev/null +++ b/trydjango/src/pages/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/trydjango/src/pages/apps.py b/trydjango/src/pages/apps.py new file mode 100644 index 00000000000..acdb960739b --- /dev/null +++ b/trydjango/src/pages/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class PagesConfig(AppConfig): + name = 'pages' diff --git a/trydjango/src/pages/migrations/__init__.py b/trydjango/src/pages/migrations/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/trydjango/src/pages/migrations/__pycache__/__init__.cpython-38.pyc b/trydjango/src/pages/migrations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..97301f95f090ba66259768afeb17dd3fc5157de8 GIT binary patch literal 156 zcmWIL<>g`kf(pNsOc4DTL?8o3AjbiSi&=m~3PUi1CZpdlY-Z1Eq5_(~A;IGV}9__2c6+^D;}~ Hello World ") \ No newline at end of file diff --git a/trydjango/src/products/__init__.py b/trydjango/src/products/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/trydjango/src/products/__pycache__/__init__.cpython-38.pyc b/trydjango/src/products/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8f53a008093bbe044e1b11e9e9ee9f92cdc84b7f GIT binary patch literal 148 zcmWIL<>g`kf?BtfOc4DTL?8o3AjbiSi&=m~3PUi1CZpdlYN|r<5j_6zj*wXXa&=#K-FuRNmsS$pwn$ Mq}qXu{0zhl0Lbei=l}o! literal 0 HcmV?d00001 diff --git a/trydjango/src/products/__pycache__/admin.cpython-38.pyc b/trydjango/src/products/__pycache__/admin.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f11fa502cc4d97ac12d9125a359e04576b8cc01d GIT binary patch literal 262 zcmYk0zfQwI494$I(nhG|Impu6I#m@z7Z!w6v4knaR&{MI7ui>#z733hrHnB36_~h7 z7Cy<&f9lYtDqvT$M(B6AD&L!*A24Sjh}Ytya{xf{u-vn^phQ%F~zFC48& literal 0 HcmV?d00001 diff --git a/trydjango/src/products/__pycache__/models.cpython-38.pyc b/trydjango/src/products/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4bfe28985c04e796f2510f65f732f1a835ec6201 GIT binary patch literal 606 zcmYjPJ8u**5VrSm`^a8I13!QUZIdl&5JGSwG>MQBnr$p+$GQ08ePDaVT@7vi1C;zF zw^UcsQZZgjkg?X9Z|3ti>luGquS1j(TIVTW7 z{Ea{?=q~yiw=pDFq)v~>BQ*gKF?f*jP}Z|cz4J3dnpvS)Jm&_E3U=fhR6vB(`h+bIS#JcgyKu8O(!io(Pn1u zd#(?zdOMCv@F8ULTfyzD1^guXDVABbKQEgvqrNwj|MzCI literal 0 HcmV?d00001 diff --git a/trydjango/src/products/admin.py b/trydjango/src/products/admin.py new file mode 100644 index 00000000000..9c3c54f95fd --- /dev/null +++ b/trydjango/src/products/admin.py @@ -0,0 +1,5 @@ +from django.contrib import admin + +from .models import Product + +admin.site.register(Product) \ No newline at end of file diff --git a/trydjango/src/products/apps.py b/trydjango/src/products/apps.py new file mode 100644 index 00000000000..864c43ed858 --- /dev/null +++ b/trydjango/src/products/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class ProductsConfig(AppConfig): + name = 'products' diff --git a/trydjango/src/products/migrations/0001_initial.py b/trydjango/src/products/migrations/0001_initial.py new file mode 100644 index 00000000000..fc318e1ba02 --- /dev/null +++ b/trydjango/src/products/migrations/0001_initial.py @@ -0,0 +1,24 @@ +# Generated by Django 2.1.7 on 2026-01-12 01:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Product', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=120)), + ('description', models.TextField(blank=True, null=True)), + ('price', models.DecimalField(decimal_places=2, max_digits=10000)), + ('summary', models.TextField()), + ], + ), + ] diff --git a/trydjango/src/products/migrations/0002_product_featured.py b/trydjango/src/products/migrations/0002_product_featured.py new file mode 100644 index 00000000000..a266b54d241 --- /dev/null +++ b/trydjango/src/products/migrations/0002_product_featured.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.7 on 2026-01-12 01:27 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('products', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='featured', + field=models.BooleanField(default=True), + ), + ] diff --git a/trydjango/src/products/migrations/__init__.py b/trydjango/src/products/migrations/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/trydjango/src/products/migrations/__pycache__/0001_initial.cpython-38.pyc b/trydjango/src/products/migrations/__pycache__/0001_initial.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e5f48ab1a5dbac58c0531c230a1f902ef07bf8f GIT binary patch literal 810 zcmYjP&2H2%5VoCUcazO7%g=!a;75CDmV1SYx+);i3W;*bB}y~X)Z6@FXQ9g#uKNyf zkRR_mfL9_7yPlBU4q>~SaH6fmQDMbZ>$hPqD$GMBA3L%l976-wiFRR^aM z3(!aNi5Vpwkt8uel92H00?7}P~f1<@=@g%vTywhxy{g?wf`aYSFaE0r-T!?#o%4f8L-{Oz^ nw~IQWDf)f(9XRP4?0V`RuetT!L&|1GyS-*lZR^@9GIRa`CJX1v literal 0 HcmV?d00001 diff --git a/trydjango/src/products/migrations/__pycache__/0002_product_featured.cpython-38.pyc b/trydjango/src/products/migrations/__pycache__/0002_product_featured.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5961aa10a560c385d8e12061517302b9bdca4ce7 GIT binary patch literal 583 zcmYjO!D`$v5S1)>*K0PAL;DK_Lx?vymy(vyo)Rc+FTM!HGrM?eTdrhNLXYh=AJSja zwWs_-Xh}!fU6K(R^yUpS^G08ej&er!_X?UHoUuOvJU2<;g06c-4jAy3b-dzTQYD;y zV32_L#Xun6il3qqAV0Apy{BAOBtGw&jn!jgdgo`I0c>3zsOL5#a6#9dkV95+U{wNq z!z+Pun}!BB+s;8kddFdQCy2>lPHi&3xH{CQX4zm3O!eseap_kF8>jqo6E*3shF|L%)m7=_#usbG~iR4kHk|%WXfATT1*M;

g`kf?BtfOc4DTL?8o3AjbiSi&=m~3PUi1CZpdlYN|r<5j_6zk_^rWYlaWaj4;>&M4u=4F<| X$LkeT-r}&y1uDo%wF8;{8HgDGh_NSM literal 0 HcmV?d00001 diff --git a/trydjango/src/products/models.py b/trydjango/src/products/models.py new file mode 100644 index 00000000000..985a5dd915c --- /dev/null +++ b/trydjango/src/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) + description = models.TextField(blank=True, null=True) + price = models.DecimalField(decimal_places=2, max_digits=10000) + summary = models.TextField() + featured = models.BooleanField(default=True) diff --git a/trydjango/src/products/tests.py b/trydjango/src/products/tests.py new file mode 100644 index 00000000000..7ce503c2dd9 --- /dev/null +++ b/trydjango/src/products/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/trydjango/src/products/views.py b/trydjango/src/products/views.py new file mode 100644 index 00000000000..91ea44a218f --- /dev/null +++ b/trydjango/src/products/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/trydjango/src/trydjango/__init__.py b/trydjango/src/trydjango/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/trydjango/src/trydjango/__pycache__/__init__.cpython-38.pyc b/trydjango/src/trydjango/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..65fc9656d257df83000fbb86e06d6e0f6f5d6246 GIT binary patch literal 149 zcmWIL<>g`kg1gQsnIQTxh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vCzdXMvySN}R zIki~dB`Yy6J>MlYH($S`s4@l2(=RScM&iZCXXa&=#K-FuRNmsS$<0qG%}KQbnfV!r F82};jBcuQT literal 0 HcmV?d00001 diff --git a/trydjango/src/trydjango/__pycache__/settings.cpython-38.pyc b/trydjango/src/trydjango/__pycache__/settings.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb20e8e8e9a548273e3e57814b6ead78d877ded4 GIT binary patch literal 2319 zcmb7FTXWM!6qX&uc1#=s;Z~qUv=kC(q=ryZm_iY@2%h?qiDc61p&G?!qimv!(XMjQ zkLWMpp*;4_^atp*PyGY!w8NAh$&TZ3m}#oDj(5*}zddKwsZ`1WK0md9u1pKUZ|P$6 zDdFN7zU)^dAeaK=An)eP9LeqEf1VhjBAI-fONUv239|^IS#kt(3MQcdMJT}(l;I3a zJ0-IW6_|muFbn74Jj^*o^9)=tr{SU_fC!i1GF*X=;Ho3i99(-NIytif*UcID7(U73 zoh1dh@iq_An>@{#vv3nWMa`S=Sw?SV^mCeXMDrZnHqXNya}Kk)fbT_oFTuQd8S=WY zuwctMK`7UDY~KkaMmVRw!=$Yslz4aueReMlc1V}YzQ7Dfd7JYdd#orB zbeY_bag;$f@D$=J=uqK7k9L`Il(N!y&$o%R6}hhDQpTlV>v&7H4;YBhP};NIh_L?? zDT0{Snobv0QA#ax@PW*9ar+X5}|xIKGJ^ zQIu8U~}A&ck7ot)H>fow)jeD@TZA$g5`!sB}b-C@n9 zhg#$^QrFh3Y*uWq8TEEckFOpBw$B_Y z+r1v*oE>6P1hQpEE*};-Y#!ssUb~c&<+zN@!F(Z~6tvcAy`?2$OKoal5j#45IhJ}> zIX#=P{U8JjZw(4rIJv_}sPeRbBTjVcQP)m8<5gcH2;--x_0*(3^&+o9e1~rz+kbmn z`+lRW4RSno@a(h>T9HRW+CAxElK6`eGbcJmH7+T5xnsvD3s;h&W#PSSSxG)%iP*FG zHlj~MAB#LG+M6unlq@T~SS-sdJy&%tJ;|i3Yt?nlu)foNNG5CA^Ui8gQ5%i+hE}s) zwsk{KX6h~7Ko&Ca`1PdRtk-G{Z9`qxlIit!+ps$8jcU8~BAGI@=2}BFG(DN!&{ylJ zexqJh(@IIioq+nuR82M1G`OBzQ9H&q}p^`m@H;m#w6b@(dGqVqm0dn$0glcmqo(BY!_uuuygp0c=O5 zmbGh*c!4r3T!n?*(beEQjJcU=kgo&X9F^~C$ zC;Y_sY}_e2B1i%k2Sr!(lAecnz`DG*?Xw>1f9pUt;Qn^79e(xKeiE|bI~0Xf`3M=c zXIomXCBA<93ZKhzm9KY-np~D)_q$*i%*G>Ri0^L ziwU&XBz*pf3c%8f@N!pXmffMP13iuLGsZA2aV{#U%mU+;k^+l;N~@|_Y}KDN^-eMf zXeoqWLF{HWoz5Fw8!7l4msIe_QyWjC@VuZ}-(P|-)PY7WU^(`8 zWMk`Ns#6Oxi~eDBRc6JG<>eYoaQ&>b3^w!V&y_O<0~OdFTgzt=UNu%O4t5>3BesSg zNj9}}XUd(~E(^IPVBoRS)Gj#OX%vM&;TWUHtGkqmyo4aIj@t$2PmSup`fNW~*FX1M z9eEv%>VBHS!Aa9((r^WdM&(O;kWoEq2~cp8P~ENQnrjt6oD40fbFU6`Zg?G7q4lV> z`QMS6K&hL4JtVhMeb5!nxF#3wid=9Z$=?e@w8~nUMT@I_J$NJ}+ZFtY2T*zpQ*dwW K!4pip@$WxWT{kQM literal 0 HcmV?d00001 diff --git a/trydjango/src/trydjango/__pycache__/wsgi.cpython-38.pyc b/trydjango/src/trydjango/__pycache__/wsgi.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6abc77241d97cdd08f3bc308f9fa4c54fec96dd8 GIT binary patch literal 556 zcmYjP!EO^V5cN7~6Sgfv2yyl`Qd!d;dO!$)NQr_VJ)~8oTsCGs**JJTE89&-uN?Ua zIPytY;>3wx;8brSs*L0rJ&$JIo3XEsj#3is_gksHC4~HGz^=6;cpZ;>9-Sl;A`?k< zGD%`=Xr!ZE=rls6ilX;^}0OJUU}Wkdy%O{b!+wJL;H zXr|NH?_K1n&;nB?QdXM;Llc`T$7V{yF>?Uv-22+S;9O$ivaP89nhLBq7=D_a@HwtL zatXD@bp^)rl`9ob|Hg%oQ7;KkO7MAem+#03Py6rRj0P9^`26y6I2w%ej~D%`59ha! z@8{1Pc&|+9dY#b8^C%+E14S1eZKY&IoFHo&TN}pYfUHS8+^+gn{0+o)qia9t(nI=?-T~(D Bu7Lmm literal 0 HcmV?d00001 diff --git a/trydjango/src/trydjango/settings.py b/trydjango/src/trydjango/settings.py new file mode 100644 index 00000000000..cb7ac95be69 --- /dev/null +++ b/trydjango/src/trydjango/settings.py @@ -0,0 +1,123 @@ +""" +Django settings for trydjango project. + +Generated by 'django-admin startproject' using Django 2.1.7. + +For more information on this file, see +https://docs.djangoproject.com/en/2.1/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/2.1/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/2.1/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'm3dy*=_1udx+=$_3r4&6(v!5gi2t-uvdrkgy7v(axeqwz4d9^9' + +# 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', + + 'products', + 'pages', +] + +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.debug', + '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/2.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Password validation +# https://docs.djangoproject.com/en/2.1/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/2.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/2.1/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/trydjango/src/trydjango/urls.py b/trydjango/src/trydjango/urls.py new file mode 100644 index 00000000000..37d24cacec1 --- /dev/null +++ b/trydjango/src/trydjango/urls.py @@ -0,0 +1,24 @@ +"""trydjango URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/2.1/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 pages import views + + +urlpatterns = [ + path('', views.home_view, name='home'), + path('admin/', admin.site.urls), +] diff --git a/trydjango/src/trydjango/wsgi.py b/trydjango/src/trydjango/wsgi.py new file mode 100644 index 00000000000..47a28f9ce28 --- /dev/null +++ b/trydjango/src/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/2.1/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 79199f74b1b643a0ce50b8bae55a6cfd3991723e Mon Sep 17 00:00:00 2001 From: Ruben <125226745+ayeeeruben@users.noreply.github.com> Date: Mon, 12 Jan 2026 01:41:04 +0000 Subject: [PATCH 2/4] Add .gitignore for Django project --- trydjango/.gitignore | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 trydjango/.gitignore diff --git a/trydjango/.gitignore b/trydjango/.gitignore new file mode 100644 index 00000000000..4989a89c5f7 --- /dev/null +++ b/trydjango/.gitignore @@ -0,0 +1,23 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# Virtual environment +bin/ +lib/ +lib64/ +pyvenv.cfg +.python-version + +# Django database +db.sqlite3 + +# Django static / media files +staticfiles/ +media/ + +# IDE / editor settings +.vscode/ +.idea/ +*.swp From 70222aac23bc087da09f2d46ad363a9f85b2a460 Mon Sep 17 00:00:00 2001 From: Ruben <125226745+ayeeeruben@users.noreply.github.com> Date: Mon, 12 Jan 2026 01:49:04 +0000 Subject: [PATCH 3/4] Initial Django project setup --- trydjango/.gitignore | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/trydjango/.gitignore b/trydjango/.gitignore index 4989a89c5f7..a6619e82a06 100644 --- a/trydjango/.gitignore +++ b/trydjango/.gitignore @@ -1,23 +1,15 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - # Virtual environment bin/ +include/ lib/ lib64/ pyvenv.cfg -.python-version -# Django database +# Django db.sqlite3 +__pycache__/ +*.pyc -# Django static / media files -staticfiles/ -media/ - -# IDE / editor settings +# OS / Editor +.DS_Store .vscode/ -.idea/ -*.swp From 6d481a09d407c45c6c18de8243e36f1e53338bdf Mon Sep 17 00:00:00 2001 From: Ruben <125226745+ayeeeruben@users.noreply.github.com> Date: Mon, 12 Jan 2026 01:51:06 +0000 Subject: [PATCH 4/4] Properly ignore virtualenv and pyenv files --- trydjango/.gitignore | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/trydjango/.gitignore b/trydjango/.gitignore index a6619e82a06..d19064d20f7 100644 --- a/trydjango/.gitignore +++ b/trydjango/.gitignore @@ -1,15 +1,17 @@ -# Virtual environment +# Python virtual environment bin/ include/ lib/ lib64/ pyvenv.cfg -# Django -db.sqlite3 +# Python __pycache__/ *.pyc -# OS / Editor -.DS_Store -.vscode/ +# Django +db.sqlite3 + +# Tools / editors +.python-version +lib64