Book Image

Django RESTful Web Services

By : Gaston C. Hillar
Book Image

Django RESTful Web Services

By: Gaston C. Hillar

Overview of this book

Django is a Python web framework that makes the web development process very easy. It reduces the amount of trivial code, which simplifies the creation of web applications and results in faster development. It is very powerful and a great choice for creating RESTful web services. If you are a Python developer and want to efficiently create RESTful web services with Django for your apps, then this is the right book for you. The book starts off by showing you how to install and configure the environment, required software, and tools to create RESTful web services with Django and the Django REST framework. We then move on to working with advanced serialization and migrations to interact with SQLite and non-SQL data sources. We will use the features included in the Django REST framework to improve our simple web service. Further, we will create API views to process diverse HTTP requests on objects, go through relationships and hyperlinked API management, and then discover the necessary steps to include security and permissions related to data models and APIs. We will also apply throttling rules and run tests to check that versioning works as expected. Next we will run automated tests to improve code coverage. By the end of the book, you will be able to build RESTful web services with Django.
Table of Contents (16 chapters)
Title Page
About the Author

Making requests that paginate results

Now, we will compose and send an HTTP GET request to retrieve all the drones. The new pagination settings will take effect and we will only retrieve the first page for the drones resource collection:

http GET :8000/drones/

The following is the equivalent curl command:

curl -iX GET localhost:8000/drones/

The previous commands will compose and send an HTTP GET request. The request specifies /drones/, and therefore, it will match the '^drones/$' regular expression and run the get method for the views.DroneList class-based view. The method executed in the generic view will use the new settings we added to enable the offset/limit pagination, and the result will provide us with the first four drone resources. However, the response body looks different than in the previous HTTP GET requests we made to any resource collection. The following lines show the sample response that we will analyze in detail. Don't forget that the drones are being sorted by the name field...