Django Apps + Development

Imaginary enjoys sharing our love for the dynamic Django open-source web framework. Our posts talk about applications that allow ease of development for complex, database-driven websites. We discuss reusability and plug-ins components, rapid development, Django programming techniques, and Django's configuration, code, templates, and data models.

The Django shell provides an environment where developers can interact with the database via Django's ORM. While the shell is great for basic interactions, it quickly becomes laborious to work in, be it due to manual imports, having to scroll through shell history to repeat commands, or working with / viewing queries returning more than, say, 20 records. These issues, and more, can be remedied by interacting with the ORM in Jupyter notebooks, using Pandas.

In February 2017, Google announced its plans to discontinue its Google Site Search product. Those clients of Imaginary Landscape who had relied on Google to provide their users with a search engine service for their website looked to us for a new solution. Finding no obvious equivalent replacement, we decided to create our own website scraper and accompanying search app.