Caktus Blog

Insights and strategies from a team recognized at Python and Django conferences worldwide since 2009. The Caktus Blog is your space for practical how-to’s, real-world solutions, and expert advice on building better user experiences, strengthening quality assurance, solving deep and complex Python/Django problems, and managing projects that deliver impact. Whether you’re refining a UI or prepping for launch, join us to learn, level up, and lead with confidence.

2019


cover-django-bulk-inserts.jpg

How to Use Django Bulk Inserts for Greater Efficiency

It's been awhile since we last discussed bulk inserts on the Caktus blog. The idea is simple: if you have an application that needs to insert a lot of data into a Django model — for example a background task that processes a CSV file (or some other text file) — it pays to "chunk" those updates to the database so that multiple records are created through a single database operation. This reduces the total number of round-trips to the database, something my colleague Dan Poirier discussed in more detail in the post linked above.

cover-caktus-blog-top-18-posts-2018.png

Caktus Blog: Top 18 Posts of 2018

Elizabeth Michalka

In 2018, we published 44 posts on our blog, including technical how-to’s, a series on UX research methods, web development best practices, and tips for project management. Among all those posts, 18 rose to the top of the popularity list in 2018.

2018


cover-new-years-resolution-work-less-code-better.jpg

My New Year’s Resolution: Work Less to Code Better

Jeremy Gibson

You may look at my job title (or picture) and think, “Oh, this is easy, he’s going to resolve to stand up at his desk more.” Well, you’re not wrong, that is one of my resolutions, but I have an even more important one. I, Jeremy Gibson, resolve to do less work in 2019. You’re probably thinking that it’s bold to admit this on my employer’s blog. Again, you’re not wrong, but I think I can convince them that the less work I do, the more clear and functional my code will become. My resolution has three components.

cover-how-to-fix-python-code-style.png

How to Fix your Python Code's Style

Dan Poirier

Sometimes we inherit code that doesn't follow the style guidelines we prefer when we're writing new code. We could just run flake8 on the whole codebase and fix everything before we continue, but that's not necessarily the best use of our time.

cover-top-tip-computer-security.png

Our Top Tip for Computer Security During the Holidays

Scott Morningstar
Elizabeth Michalka

Updated December 2020.

This holiday season, there’s more online activity than ever, from shopping to Zoom sessions with family and friends, not to mention remote work and school. But during all this online activity, how much do you think about your computer security? (We know, there are way more important things on your mind these days!) But a security breach could wreak havoc on your business or personal life. Just think, is your password different for every shopping site or app that you use? If not, it should be!

cover-django-depends-you.png

Django Depends on You: A Takeaway from DjangoCon

David Ray

Photo by Bartek Pawlik.

DjangoCon 2018 attracted attendees from around the world, including myself and several other Cakti (check out our DjangoCon recap post). Having attended a number of DjangoCons in the past, I looked forward to reconnecting with old colleagues and friends within the community, learning new things about our favorite framework, and exploring San Diego.

cover-djangocon-2018-recap.jpg

DjangoCon 2018 Recap

Tim Scales

Above: Hundreds of happy Djangonauts at DjangoCon 2018. (Photo by Bartek Pawlik.)

That’s it, folks — another DjangoCon in the books! Caktus was thrilled to sponsor and attend this fantastic gathering of Djangonauts for the ninth year running. This year’s conference ran from October 14 - 19, in sunny San Diego. ☀️

cover-filtering-and-pagination-django.png

Filtering and Pagination with Django

Dan Poirier

If you want to build a list page that allows filtering and pagination, you have to get a few separate things to work together. Django provides some tools for pagination, but the documentation doesn't tell us how to make that work with anything else. Similarly, django_filter makes it relatively easy to add filters to a view, but doesn't tell you how to add pagination (or other things) without breaking the filtering.

cover-secret-lives.png

The Secret Lives of Cakti

Tim Scales

Pictured from left: Caktus team members Vinod Kurup, Karen Tracey, and David Ray.

The Caktus team includes expert developers, sharp project managers, and eagle-eyed QA analysts. However, you may not know that there’s more to them than meets the eye. Here’s a peek at how Cakti spend their off-hours.

cover-django-or-drupal-content-management.png

Django or Drupal for Content Management: Which Fits your Needs?

Tim Scales
David Ray

If you’re building or updating a website, you’re probably wondering about which content management system (CMS) to use. A CMS helps users — particularly non-technical users — to add pages and blog posts, embed videos and images, and incorporate other content into their site.