Site structure and how Django works
Users make URL requests through various hyperlinks, Django looks through urls.py which forwards the request to the correct View in order to process this. Views are code written by the developer which can return any number of things. Views access the data needed to fill requests through models and format the response using templates. Models are a way for the developer so read/write data to a database. This is how my site stores and allows users to post/edit posts to the blog.
My site has a `base` template for all other templates. This holds the main banner and other necessary code. I then have `post_list`, `post_detail`, and 'post_edit'. These are the specific templates for the requests the users can make on my site. There is a view for each of these as well as one for posting a new post. `post_list` and 'post_detail' are simple views that display posts. The other two make use of forms in order to make a new post or update an existing one. The only model my site has is Post, this holds the data necessary to display information to the user as well as other data for other uses like sorting and stats.