Building a Django
Data Product Workshop



Data products are meant to be used interactively, such that users making decisions with the models can use visualizations, or other applications to provide feedback to the success of the analytics. The best way to deploy a data product is through a web application, usually one that has a browser based front end, but that also can power mobile applications.

Django, written in Python, is one of the best web frameworks that is widely used for major web applications. The framework is well documented and easy to use, and allows data scientists to quickly put together web user interfaces to their analytical backends. From front-end visualizations in D3 powered by a RESTful API to simple web applications that allow users to explore data - the ability to create applications is a necessary tool for every data team.

In this tutorial we will show you how to create a Django project that interacts with a classifier and accepts feedback from the user, building a supervised training set to improve the model in the backend. We will go over Django project setup and settings, interacting with a PostgreSQL database using the Django ORM, creating views and dispatching to them with URL routers, and will create a simple UI using Django templates. 

What You Will Learn

After this workshop you should understand how a Django web application can be used in coordination with analytics exercises, and how to build a Django application from start to finish. 

Course Outline

The workshop will be an approximately 2 hour online webinar focused on demonstration-led topics and techniques. 

The workshop will cover the following topics:

  • Setting up a Django project and requirements
  • Creating models and migrating a PostgreSQL database
  • Creating views and connecting them to web urls
  • Creating a simple web interface with templates
  • Adding a Scikit-Learn model to the web app
  • Collecting feedback from the user and saving it in the app
  • Creating a Django management command to regenerate models


This workshop requires intermediate knowledge of Python including use of classes, directory code structure, generators, and pickle. Also useful is knowledge of web application basics like HTTP, HTML, and CSS. 

Instructor: Laura Lorenz


Laura received her Bachelor’s from James Madison University, where she first started programming by using Python to manage autonomous computations while studying bacterial genomics. So, despite turning into a polyglot, Python is both her favorite and native programming language.=

She now works as a data and software engineer, implementing and operating diverse solutions with both the data and web team using Python tools and frameworks such as Django, Flask, pandas, and scikit-learn. She is also adjunct faculty at Georgetown University where she teaches Introduction to Python for Data Analysis as part of the Data Analytics Certificate Program.