Django Frontend Skeleton has been around for more than six months, picking up minor updates and patches along the way, but there were two instances where I think it fell short: when you only need a basic template without static files, and when you needed a lot more than the included static files. Based on those two needs, I’m glad to introduce Django Frontend Template and Django Frontend Static.
Well technically they were introduced last Friday, but my posts always seem to be late.
Django Frontend Static
Much like Django Frontend Skeleton, the two newest Django Frontend packages initially arrived from a need at work. Our template package continued to pick up our often used static files, so much so that at one point Silk icons were being deployed six+ times with each update…don’t worry we quickly fixed that. However, it became apparent while most apps needed our templates, not every app needed all those static files. We also faced the reverse side of that, sometimes we didn’t need our template but the majority of the static files. Staticlib became another one of our common packages. Django Frontend Static is essentially an open source version of that.Django Frontend Static includes:
- famfamfam’s Silk icons
- Google Analytics
- HTML5 Boilerplate’s CSS
- iOS-Orientationchange-Fix
- jQuery
- jQuery UI
- jQuery DataTables (CSS and JavaScript)
- jQuery Dynamic Formset
- jQuery Smooth Scroll
- Modernizr
- Normalize
- Twitter Bootstrap (CSS and JavaScript)
There are no templates included, but there are template tags for all of the static files. Read the docs for more information.
Django Frontend Template
Django Frontend Template is simple – it’s basically a Django template version of the HTML5 Boilerplate. There are no included static files, but it does include the same temple tags for consistency. Read the docs for more information.
From 0.1.0 to 1.0.0?
As I was updating Django Frontend Skeleton to include some of the new features, something became very apparent – all three packages were working against each other instead of together. This was frustrating and defeated the purpose. If you happened to install Django Frontend Skeleton and Static together, then you’d end up with duplicate static files, in differnent locations. If for some reason you installed Skeleton and Template together, you’d end up with two different templates with the nearly the same template blocks. What started as name spacing for separation became a major roadblock, and a very annoying recursive directory problem.
After some reimagining and a common namespace of djfrontend, I believe I got each package where I want them. They build on each other while remaining independent.
There is; however, a problem that I should have foresaw, if one package is upgraded, and your deployment process doesn’t force upgrade then you’ll end up with missing files. That’s really not cool when it’s your base template missing. I’ll look into this further and find a suitable solution.
Django Frontend Skeleton
Throughout rethinking the relationship among the separate apps, Django Frontend Skeleton got a major overhaul. Be sure to read the changelog before you upgrade, otherwise it will break. If you can’t upgrade at the moment, you should use the recently updated 0.7.3.