13.5. Creating a Django Project: Creating Views

Página 63

13.5. Creating a Django Project: Creating Views

Django is a high-end web development framework, written in Python, that promotes fast, clean, and pragmatic development. One of Django's fundamental components is the 'view', which is responsible for processing requests and providing responses. In this section, we'll examine the process of creating views in a Django project.

Understanding Views

Views in Django are Python functions that take a web request and return a response. This response could be HTML from a webpage, a redirect, a 404 error, an XML file, an image, or anything else. The view is the interface between the system and the user; it processes all input data and returns a response.

Creating Views

To create a view, we first need a Django application. If you don't already have one, you can create one using Django's 'startapp' command. Once we have an application, we can create views in it. In your app directory you will find a file called 'views.py'. This is where we will define our views.

A simple view might look like this:

def home(request):
    return HttpResponse("Hello World!")

This is the simplest view possible in Django. To call this view, we need to map it to a URL - and for that, we need a URLconf.

URLconf

To create a URLconf in your application, you need to create a new Python file called 'urls.py'. Your app should look like this:

my project/
    my_app/
        __init__.py
        views.py
        urls.py

In the 'urls.py' file, you can create a URLconf like this:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

This is a list of instances of the 'path' class, which can be used to define routes for your views. Here, we define a route to the 'home' view, which will be called when the URL is '' (ie the root domain).

View with Templates

So far, our views have returned simple responses. But generally we want to return complex HTML. For this, Django uses a templating system. To use a template, we first need to create one.

Create a new directory called 'templates' in your application, and inside that, create a new HTML file. For example, 'home.html'. Then you can use this template in your view:

from django.shortcuts import render

def home(request):
    return render(request, 'home.html')

Django will automatically look for the 'home.html' file in your application's 'templates' directory and render it.

View with Templates

Views can also interact with models. For example, you might want to show a list of all objects in a given model. To do this, you need to first import the model and then use the 'all' method to get all the objects:

from django.shortcuts import render
from .models import MyModel

def home(request):
    objects = MyModel.objects.all()
    return render(request, 'home.html', {'objects': objects})

Next, you can access the 'objects' variable in your template.

In summary, creating views is an essential component of developing web applications with Django. Views allow you to process user requests, interact with your models, and return complex responses. With practice, you'll become increasingly comfortable with creating views and be able to create sophisticated web applications with Django.

Now answer the exercise about the content:

What is the role of 'views' in the Django framework?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

6413.6. Creating a Django Project: Templates and Rendering

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text