Views in Django are a fundamental part of the structure of a Django application. They are responsible for processing HTTP requests and returning a response to the user. In this chapter, we'll explore how to create a simple view in Django using Python.

Before you start, it's important to understand what a view is. In Django, a view is a Python function that takes a web request and returns a response. This response could be HTML from a webpage, a redirect, a 404 error, an XML file, an image, or anything else that can be sent over HTTP.

To create a view in Django, you need to do three things:

  1. Define the view in your application's views.py file
  2. Configure a URL for the view
  3. Write the HTML code for the view (optional)

Let's start by creating a simple view. First, open your Django app's views.py file. This file is where you define all your views. A view is simply a Python function, so let's start by defining a function. For example:

  def hello_world(request):
      return HttpResponse("Hello, World!")

This is a very simple view. It takes an HttpRequest object as a parameter (which we call "request") and returns an HttpResponse object. In this case, the response is the string "Hello, World!".

Now that we have a view, we need to set up a URL for it. This is done in your application's urls.py file. This file is where you define all your URLs. A URL is simply a pattern that Django tries to match with the URL requested by the user. If the match succeeds, Django calls the view associated with the URL.

To configure a URL for our view, let's add the following line to the urls.py file:

  path('hello/', views.hello_world)

This line tells Django that whenever a user requests the /hello/ URL, it should call the hello_world() view.

Now, if you start the Django server and go to http://localhost:8000/hello/ in your browser, you'll see the message "Hello, World!".

Finally, let's talk about how to write the HTML code for our view. Although our current view just returns a simple string, most of the time you'll want to return a complete HTML file.

To do this, you can use Django's templating system. A template is simply an HTML file with some special code that allows you to insert variables and other logic directly into the HTML.

To use a template, you need to create an HTML file in your application's templates directory. For example, you can create a file called hello.html with the following content:

  <html>
    <body>
      <p>Hello, World!</p>
    </body>
  </html>

You can then modify your view to use this template as follows:

  def hello_world(request):
      return render(request, 'hello.html')

The render() function takes an HttpRequest object, the name of a template and optionally a dictionary of context variables, and returns an HttpResponse object with the text of the rendered template.

That's all you need to know to create a simple view in Django. Views are an important part of any Django application, and understanding how they work is essential to becoming an effective Django developer.

Now answer the exercise about the content:

What is the process for creating a simple view in Django?

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

You missed! Try again.

Article image Views in Django: Passing data to the view

Next page of the Free Ebook:

94Views in Django: Passing data to the view

3 minutes

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