Chapter 7. Prettification: Layout and Styling, and What to Test About It
We’re starting to think about releasing the first version of our site, but we’re a bit embarrassed by how ugly it looks at the moment. In this chapter, we’ll cover some of the basics of styling, including integrating an HTML/CSS framework called Bootstrap. We’ll learn how static files work in Django, and what we need to do about testing them.
What to Functionally Test About Layout and Style
Our site is undeniably a bit unattractive at the moment (Figure 7-1).
Note
If you spin up your dev server with manage.py runserver, you
may run into a database error “table lists_item has no column named list_id”.
You need to update your local database to reflect the changes we made in
models.py. Use manage.py migrate.
We can’t be adding to Python’s reputation for being ugly, so let’s do a tiny bit of polishing. Here’s a few things we might want:
- A nice large input field for adding new and existing lists
- A large, attention-grabbing, centered box to put it in
How do we apply TDD to these things? Most people will tell you you shouldn’t test aesthetics, and they’re right. It’s a bit like testing a constant, in that tests usually wouldn’t add any value.

But we can test the implementation of our aesthetics—just enough to reassure ourselves that things are working. For example, we’re ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access