Django is a free and open-source framework for building web apps with Python
‘Batteries included’ = comes with a lot of features in the box, e.g:
- admin site
- object relational mapper (ORM) abstracts the database for us, for low-code
- Authentication
- Caching
https://youtu.be/rHux0gMZ3Eg?si=f8cPFbBI89qc3MUP
Web application basics:
- Front-end (the part loaded on web browser on client machine)
- Back-end (the part runs on server, data processing, validating business rules)
URL = uniform resouce locator - locate resource on internet resource =
- page
- image
- video
Client -> Server
- serve processes request, returns response
- Communicate in Hypertext Transfer Protocol For each page, browser sends http request, recieved http response
Back end is how do we respond?
- the html page (HTML = hypertext markup language)
- or just the data
- APPLICATION MORE SCALABLE
Creating web pages on client
- react
- angular
- vue
Server tools for backend
- django
- asp.net core
- express
Serve becomes just gateway to the data On serve, we provide endpoints to the data e.g
- /products
- /orders All these endpoints together consitute the APPLICATION PROGRAMMING INTERFACE (buttons on the remote control). Remote control for TV = API
Plain JS, react etc constitute the FRONT END which talks to our django API.
Binaries