django module best practices