How to get GET Request Values in Django

In Django, handling GET requests and retrieving there values is a fundamental aspect of web development. GET requests are typically used for fetch data from a server, often bypassing parameters in the URL. In this blog post, we’ll explore how to retrieve GET request values in Django and use them in your views.

Understand GET Requests

GET requests are a type of HTTP request used to retrieve data from a server. They are usually triggered when user clicks on a link, enters a URL in the browser’s address bar, or submits a form with the method attribute set to “GET.” Data sent with GET request is appended to the URL as query parameters, making it visible in the browser’s address bar.

Here’s an example of a URL with query parameters:

In this URL, q and category are query parameters and their values are “Django” and “framework,” respectively.

Retrieve GET Request Values in Django

In Django, you can easily retrieve GET request values in your views using the request object, which is an instance of HttpRequest. Here how you can access GET request parameters:

from django.http import HttpResponse

def my_view(request):
    # Retrieve single GET parameter
    query = request.GET.get('q')

    # Retrieve multiple GET parameters
    category = request.GET.get('category')
    page = request.GET.get('page')

    # Do something with the retrieved values
    response = f"Query: {query}, Category: {category}, Page: {page}"

    return HttpResponse(response)

In the code above:

  • We import HttpResponse to create a response that will be sent to client.
  • Inside the my_view function, we use request.GET.get('parameter_name') to retrieve individual GET parameters. You can specify the parameter name as a string.
  • You can also retrieve multiple GET parameters as shown with category and page.
  • Finally, you can use the retrieved values to generate response

Handling Missing Parameters

It’s important to handle cases where a GET parameter might be missing in the request URL. Using request.GET.get('parameter_name', default_value) allows you to provide a default value if the parameter is not present:

query = request.GET.get('q', 'default_value')


Retrieving GET request values in Django is fundamental skill for web developers. By accessing the request object’s GET attribute, you can easily retrieve and work with the query parameters sent in the URL. Whether you building a search feature,, filtering data, or handling any other type of GET request, Django provides a simple and efficient way to access the data sent by the client.