Friday, November 20, 2015 (permalink)
What I mean by an "installable Django package": a reusable component that can be shared across Django projects, allowing us to combine our own efforts with others. Some examples include:Read more ...
Saturday, September 12, 2015 (permalink)
Recently I've been writing a lot of Markdown. While not as sophisticated as ReStructuredText, it's simplicity is nice for accelerated writing. The problem is that I like to put section headings in titlecase.
What do I mean by titlecase?
go to the room
Go to the Room ...Read more ...
Friday, February 13, 2015 (permalink)
Friday, December 19, 2014 (permalink)
Before I begin, I want to make very clear that most of what I'm about to explain are 'tricks'. They aren't "best practices", and in at least one case, is possibly inadvisable.
Speaking of inadvisable practices, at some point I'll write a 'setup.py traps ...Read more ...
Tuesday, July 01, 2014 (permalink)
In Python, the @cached_property decorator is a really nice piece of code. What it does is it caches the result of a property call. The cached result will persist as long as the instance does, so if the instance is passed around and the function subsequently invoked, the cached result ...Read more ...
Wednesday, January 22, 2014 (permalink)
Defining Custom Language slugify Translation Functions
For those times we need ASCII representation of unicode characters, we can't always use the ...
Tuesday, January 21, 2014 (permalink)
note: The introduction mentions Django and Plone. However, this is not an article about Django or Plone.
Friday, January 17, 2014 (permalink)
In my previous blog post I covered writing exception-based assertions and fixtures. Today I'm going to close things out by demonstrating how to change the behavior of pytest and how to integrate it with Django and setup.py.
Changing the Behavior of pytest
When pytest is called, either via ...
Thursday, January 16, 2014 (permalink)
The Intuitively Named raises context manager
When using pytest, you can assert whether or not an exception occurred ...
Wednesday, January 15, 2014 (permalink)