LogoLogo
Donate now
English
English
  • Introduction
  • Installation
    • Command Line
    • Python
    • Code Editor
    • Virtual Environment
    • Django
    • Git
    • GitHub
    • PythonAnywhere
  • Installation (chromebook)
  • How the Internet works
  • Introduction to command line
  • Python installation
  • Code editor
  • Introduction to Python
  • What is Django?
  • Django installation
  • Your first Django project!
  • Django models
  • Django admin
  • Deploy!
  • Django URLs
  • Django views – time to create!
  • Introduction to HTML
  • Django ORM (Querysets)
  • Dynamic data in templates
  • Django templates
  • CSS – make it pretty
  • Template extending
  • Extend your application
  • Django Forms
  • What's next?
Powered by GitBook
On this page

Django views – time to create!

PreviousDjango URLsNextIntroduction to HTML

Last updated 2 years ago

Time to get rid of the bug we created in the last chapter! :)

A view is a place where we put the "logic" of our application. It will request information from the model you created before and pass it to a template. We'll create a template in the next chapter. Views are just Python functions that are a little bit more complicated than the ones we wrote in the Introduction to Python chapter.

Views are placed in the views.py file. We will add our views to the blog/views.py file.

blog/views.py

OK, let's open up this file in our code editor and see what's in there:

from django.shortcuts import render

# Create your views here.

Not too much stuff here yet.

Remember that lines starting with # are comments – this means that those lines won't be run by Python.

Let's create a view as the comment suggests. Add the following minimal view below it:

```python def post_list(request): return render(request, 'blog/post_list.html', {}) ```

As you can see, we created a function (def) called post_list that takes request and will return the value it gets from calling another function render that will render (put together) our template blog/post_list.html.

Save the file, go to http://127.0.0.1:8000/ and see what we've got.

Another error! Read what's going on now:

This shows that the server is running again, at least, but it still doesn't look right, does it? Don't worry, it's just an error page, nothing to be scared of! Just like the error messages in the console, these are actually pretty useful. You can read that the TemplateDoesNotExist. Let's fix this bug and create a template in the next chapter!

Learn more about Django views by reading the official documentation: https://docs.djangoproject.com/en/3.2/topics/http/views/

Error