The Django site provides a tutorial on how to build a poll, which can be easily modified to build a blog. James Bennett's book, Practical Django Projects, also explains in significant detail how to build a blog/cms.
As for books:
And the second question:
James Bennett's Practical Django Projects does a pretty good job of covering those topics in general and even includes a chapter specifically on "Writing Reusable Django Applications" that goes through an example of splitting one of the example projects in the book out into its own app.