Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Jinja Bootstrap (for Django!)
Hello comrades! I’m stoked to announce the launch of Jinja Boostrap: A library that brings Jinja2 templates and Twitter Bootstrap together. Put simply, Jinja Bootstrap gives you all of this Boostrap awesomness with just a few lines of Jinja template code. I use Bootstrap for all of my recent projects because it is beautiful, simple, consistent, and quick. For my Django projects, I use Jinja2 instead of the default Django templates. Jinja2 is far more powerful and robust. (And I use Jingo as the glue between Jinja2 and Django). I needed a way to use Bootstrap without re-adding all of the template tags, blocks, and macros that I needed. There’s where Jinja Bootstrap comes in. Benefits are as such: A base.html template to use as a base for your bootstrap projects Lots of blocks to make overriding easy Form field rendering macros Alert/message rendering macros If you want to try it out on your Bootstrap Django project, you can find setup instructions on the Jinja Boostrap GitHub page. Right now it supports Django fairly well. However, Jinja can be used with other platforms like Flask, Google App Engine, and Hyde. I’m hoping to expand this library to have full support … -
Front End Developer 2012 Summer Internship
I'm excited to announce that Caktus is looking for candidates for our front end developer/designer summer internship program. It is a 12 week paid position in our Carrboro, NC office. We're driving distance from UNC Chapel Hill, NC State Univeristy in Raleigh, and Duke in Durham, so students from all parts of the NC Research Triangle are welcome to apply. -
Front End Developer 2012 Summer Internship
I'm excited to announce that Caktus is looking for candidates for our front end developer/designer summer internship program. It is a 12 week paid position in our Carrboro, NC office. We're driving distance from UNC Chapel Hill, NC State Univeristy in Raleigh, and Duke in Durham, so students from all parts of the NC Research ... -
Launching our API at PyCon 2012
A few months ago me and my fiancee, Audrey Roy, launched our start up, Consumer Notebook. It's a Python powered product comparison site that combines the best features of Open Comparison, Yelp, Consumer Reports, and Pinterest. We've worked day and night to make it better, with countless members of the Python community using the site and giving us invaluable feedback. All of that brings us to PyCon. We're not just here as attendees and participants, but also to promote our startup. It used to be the cool thing to launch your startup at SXSW, but times have changed. Now it's the cool thing to launch at PyCon! Like Twilio, Twitter, Facebook, and Google, we've got an API we want developers to use. And as an upcoming startup, we've got to really be creative in how we gain your attention, so here is what we're doing for PyCon 2012: 1. Demos at our PyCon Startup Row booth. Thanks PyCon! We've got a booth on Saturday. We've got banners and bright red track jackets. We're giving out handy API reference cards, as well as 10 different flavors of Oreo cookies (see our site for a complete list of every Oreo cookie flavor, … -
Launching our API at PyCon 2012
A few months ago me and my fiancee, Audrey Roy, launched our start up, Consumer Notebook. It's a Python powered product comparison site that combines the best features of Open Comparison, Yelp, Consumer Reports, and Pinterest. We've worked day and night to make it better, with countless members of the Python community using the site and giving us invaluable feedback. All of that brings us to PyCon. We're not just here as attendees and participants, but also to promote our startup. It used to be the cool thing to launch your startup at SXSW, but times have changed. Now it's the cool thing to launch at PyCon! Like Twilio, Twitter, Facebook, and Google, we've got an API we want developers to use. And as an upcoming startup, we've got to really be creative in how we gain your attention, so here is what we're doing for PyCon 2012: 1. Demos at our PyCon Startup Row booth. Thanks PyCon! We've got a booth on Saturday. We've got banners and bright red track jackets. We're giving out handy API reference cards, as well as 10 different flavors of Oreo cookies (see our site for a complete list of every Oreo cookie flavor, … -
Security vulnerability announcement
This is an announcement of a security vulnerability of LFS. We are publishing multiple releases for all affected versions now. All users of LFS are urged to upgrade immediately. Versions affected 0.5.x, 0.6.x, 0.7.x Resolution Patches will be applied to the tip of all version branches. Releases for all affected versions will be provided. Installation The installation should be straightforward. Just replace your current version of django-lfs with the new release and restart your instance. This can be done in several ways dependend on your current installation. For instance you can just update the version of django-lfs within buildout.cfg and re-run the buildout or you can install a complete new instance and point it to your current database and media files. Make sure that you are using the correct version branch. You can find the different installers here: http://pypi.python.org/pypi/django-lfs/0.5.0 http://pypi.python.org/pypi/django-lfs/0.6.9 http://pypi.python.org/pypi/django-lfs/0.7.0b2 If you have questions, don't hesitate to get in contact: http://groups.google.com/group/django-lfs irc://irc.freenode.net/django-lfs security@getlfs.com If you need professional support, please look here: http://www.getlfs.com/service-providers Credit Thanks to Maciej Wisniowski (natcam.pl) who found the issue, handled it in a most responsible way and helped to provide the patches. General If you find a security relevant issue, please report it via private mail to security@getlfs.com. -
Caktus is Sponsoring Pycon 2012
Caktus is sponsoring Pycon 2012 in Santa Clara, CA this coming weekend! Nearly the entire office will be attending this year's event, which means Mark, Caleb, Calvin, David, Karen, Dan, Tobias, Colin, Julia, Nicole and I will be on site contributing and learning with the rest of the Python community. Nicole and I will be ... -
Caktus is Sponsoring Pycon 2012
Caktus is sponsoring Pycon 2012 in Santa Clara, CA this coming weekend! Nearly the entire office will be attending this year's event, which means Mark, Caleb, Calvin, David, Karen, Dan, Tobias, Colin, Julia, Nicole and I will be on site contributing and learning with the rest of the Python community. Nicole and I will be in charge of manning the booth, and so if you managed to wrangle tickets to the sold-out event, we invite you to stop by our booth #213 and say hello! Also Karen, Mark and Calvin will be sprinting after the talks, working on Django and Python3 tickets. -
So long, djangosnippets, and thanks for all the fish
After two years of maintaining djangosnippets.org, I am pleased to announce that the guys from django-de are going to be taking over and you can expect to see some real improvements. Here is a quick list of things I was able to accomplish under my watch as well as the things I always meant to do but never got around to. Actually did Porting from ?? to modern django The version of djangosnippets I was handed had been written a number of years ago, early 2007 according to the whois record so I think it must have been django .96. The first thing I did was port the codebase to django 1.1. Search The full writeup can be found here, but tl;dr added solr, got many wins including search, "more like this", and ajax-y autocomplete. Discoverability One issue was discoverability -- many of the oldest snippets had the most upvotes or had been the most bookmarked, making it hard to find quality new code. I added date-based filtering to some of the list views to make it easier to find fresher content. Flagging The last thing I added was the ability for users to flag snippets as inappropriate or spam. … -
The sorry state of Python OAuth providers
This is one of those challenging posts to write. The people whose projects I'm going to describe have put in a lot of dedicated, hard work to overcome a challenging subject. Writing an OAuth consumer is a hard problem and writing an OAuth provider is an even harder problem. The efforts put in by the authors of these projects has been nothing short of incredible. The problem, however, is that the existing projects are not usable as-is, and need the support of the community in order to improve. The terrible thing is that this is a solved problem within our community. Python based projects are successfully implementing OAuth providers, and often using internally hacked versions of the efforts I'm about to describe. However, they aren't giving this back to the community. It might be that they want to protect their competitive edge, but I'm going to be nice and say that it's because their too busy to find time to send pull requests back. In any case, let me present our use case. For Consumer Notebook we want an API. We want to be able to track usernames, passwords, and the application using our API - which is the OAuth … -
The sorry state of Python OAuth providers
This is one of those challenging posts to write. The people whose projects I'm going to describe have put in a lot of dedicated, hard work to overcome a challenging subject. Writing an OAuth consumer is a hard problem and writing an OAuth provider is an even harder problem. The efforts put in by the authors of these projects has been nothing short of incredible. The problem, however, is that the existing projects are not usable as-is, and need the support of the community in order to improve. The terrible thing is that this is a solved problem within our community. Python based projects are successfully implementing OAuth providers, and often using internally hacked versions of the efforts I'm about to describe. However, they aren't giving this back to the community. It might be that they want to protect their competitive edge, but I'm going to be nice and say that it's because their too busy to find time to send pull requests back. In any case, let me present our use case. For Consumer Notebook we want an API. We want to be able to track usernames, passwords, and the application using our API - which is the OAuth … -
The Django community in 2012
In 2007, and again in 2009, I made an attempt to measure the size of the Django community. By popular request — okay, a couple people asked for it, whatever — let’s do this thing again. Users In 2007 and 2009, I shared three ways of looking at how many people are using Django: hits to the website, downloads of the Django tarball, and sites listed as “using Django.” So, here’s an overview of users, some notes on interpreting these numbers follow: -
Using LESS with Django
Lately, I’ve been working on creating a simplified work flow for my front end work here at Caktus. There are all sorts of new and helpful tools to optimize the creative process, allowing for faster iterations, and greater overall enjoyment. As with any new tool, there are a few options to choose from: LESS and ... -
Using LESS with Django
Lately, I’ve been working on creating a simplified work flow for my front end work here at Caktus. There are all sorts of new and helpful tools to optimize the creative process, allowing for faster iterations, and greater overall enjoyment. As with any new tool, there are a few options to choose from: LESS and SASS. Having read lots of reviews and reading through the documentation, I’ve decided LESS is more for me. -
Se buscan buenos programadores
Hi ha una frase que diu que "a Internet ningú saps que ets un ca". El mateix es pot dir actualment del llenguatge de programació que mou una plana o aplicació web, mentre la plana faci el que ha de fer, a l'usuari que l'està utilitzant no l'interessa el més mínim amb què està feta. Que avui en dia les planes acabin en php, asp, .do, no deixa de ser anecdòtic. Els bastiments de programació més moderns fins i tot amaguen amb què està feta la web a simple vista, a l'usuari no li cal la informació i potser estàs donant massa informació a algun visitant no desitjat. Aquest apunt ve arrel d'un post a bonillaware, titulat se buscan buenos programadores. El post és força intressant i l'oferta de feina crec que també, però allà faig una petita reflexió: no entenc com una companyia que va de cools pot fer un error tan de base com cercar bons programadors en un llenguatge concret. Bé, ho entenc si el que cerques no són bons programadors, sinó gent experimentada amb una tecnologia en concret. Vuit anys d'experiència no et converteixen en un bon programador en res. Si no has après el que … -
Release 0.6.8
We just released LFS 0.6.8. This is a yet another bugfix release of the 0.6 branch. Changes Bugfix: fixed duplicate labels and invalid tags (Maciej Wisniowski) Bugfix: fixed calculation of topsellers when order items has no product (Maciej Wisniowski) Updated polish translations (Maciej Wisniowski) Updated german translations Information You can find more information and help on following locations: Documentation on PyPI Demo Releases on PyPI Source code on bitbucket.org and github. Google Group lfsproject on Twitter IRC -
Release 0.7.0 beta 1
We just released LFS 0.7.0 beta 1. This is the next feature release of LFS. What's new? Added customer related taxes Added global image management Added django_compressor Added pluggable shipping price calculators Added pluggable order number generation Added calculation of base price Added product attachments Added more portlets: featured products, for sale products Aded SEO information for shop and pages Added portlets for pages Added type of quantity field Added context aware help for the management interface Improved pluggable product price calculators Improved pluggable payment processors Improved mails templates Information You can find more information and help on following locations: Documentation on PyPI Demo Releases on PyPI Source code on bitbucket.org and github. Google Group lfsproject on Twitter IRC -
Our Custom Mixins
UPDATE: We've released a Github repo and a PyPI package with our mixins. Feel free to fork and submit new ones through a pull-request. Let's just start out and say it, Class Based Views. Ooohhhh. Unfortunately the topic of class based views is thought of as somewhat of a dark art in the Django community. It doesn't help that the documentation is still lacking but I find a lot of people, especially on Reddit, refuse to use them. For whatever reason, it's a hard pill for some to swallow. Before DjangoCon 2011, we started playing with class-based views. At first they seemed like a nightmare and without decent docs, we got frustrated really quickly. Skip forward to today and I can't imagine writing old function-based views again. Some argue that the generic views are only for generic applications and that, somehow, their work is far too custom and complex to be handled in a generic class-based view. Based on my experience, 99% of the time, they would be wrong. We plan on covering generic class-based views extensively with GSWD. Today, I'd like to share some mixins we have cooked up, on a rather large client project, that have helped us … -
Welcome!
We are excited to finally launch the full website for this years DjangoCon Europe. Early bird registration as well as our call for papers is now open and we posted more details on our sponsoring packages.The early bird registration will run until the 31st of March, so sign up now! The call for paper will be until the 15th of April. -
Key-based cache expiration with Django
Last week, the team over at 37Signals wrote up an article on their newly implemented Key-based cache expiration system and it hit me: It's such a simple idea with obvious benefits, why hadn't I implemented a similar caching mechanism before? Being a Django user, the Rails code didn't make much … -
Key-based cache expiration with Django
Last week, the team over at 37Signals wrote up an article on their newly implemented Key-based cache expiration system and it hit me: It's such a simple idea with obvious benefits, why hadn't I implemented a similar caching mechanism before? Being a Django user, the Rails code didn't make much sense to me but the concept certainly did - so here's my take on it with a quick Django example. -
Key-based cache expiration with Django
Last week, the team over at 37Signals wrote up an article on their newly implemented Key-based cache expiration system and it hit me: It's such a simple idea with obvious benefits, why hadn't I implemented a similar caching mechanism before? Being a Django user, the Rails code didn't make much sense to me but the concept certainly did - so here's my take on it with a quick Django example. Background I've just implemented this caching strategy for WhisperGifts for a re-launch that will go live in the next few weeks. We allow couples to publish an online gift list, then let people select items from that list. Pretty basic stuff, but rendering the gift list can require n+1 queries due to the way that my purchase data is kept. This hasn't been a big issue until now, when I've built new functionality and generally just extended things a bit. The cache strategy is so simple it's taken longer to write up here than it did to alter my existing codebase. My basic model is as follows: Registry, the top-level "collection" of items for each wedding. Item, of which there are many for each Registry Buyer, of which there are … -
Generic Layouts in Crispy Forms
Just a quick tip and sanity check, today, about something I ran into with django-crispy-forms, the awesome new form library from Miguel Araujo. This morning, I converted the project we've been building for a client (currently some 1,700 or so files, counting templates, CSS, and icons) from django-uni-form to django-crispy-forms. It's a pretty painless transition, actually. Just do some find-and-replace across your files, basically changing any instance of uni- to crispy- (well, and form to forms), and you're good to go. Then, however, I wanted to convert two large forms that we have, which share 90% of their fields, to using the sharable Layout objects that django-crispy-forms gives us. Basically, the forms looked like this: class FirstForm(GenericAppFormForTheExample): ... def __init__(self, *args, **kwargs): ... self.helper = FormHelper() self.helper.layout = Layout( "field1", "field2", "special-field", [field3 through field20] class SecondForm(GenericAppFormForTheExample): ... def __init__(self, *args, **kwargs): ... self.helper = FormHelper() self.helper.layout = Layout( "field1", "field2", "special-field2", [field3 thorugh field20] Obviously that was a lot of repetition that we could cut out now that these inheritable layouts exist. By the way, I'm pretty sure this would have been possible in django-uni-form but likely not as friendly. First I started off by creating the shared resources. … -
You should Heroku
In mid-November me and my fiancee, Audrey Roy began our startup. We had been frustrated with trying to do on-line product research and came up with an idea to take the lessons learned from Django Packages / Open Comparison and apply them to a commercial effort. The result has been Consumer Notebook, and it's been a steadily growing success. We've been bootstrapping the project. That means supporting it with consulting and grinding away on it during our free time. That means 12-16 hour days of Python, Django, and Javascript coding, marketing, system administration, graphic design, communicating with users and vendors, and a thousand other tasks. Since we've had to explore new techniques for making things work on the backend and front end, that means we've needed to have a robust system that is trivial to deploy and certain to never go down. Which, of course, requires serious sys admin skills. The Big Problem I hate system administration work. Sys admin is boring. I find it tedious and dull. Devops doesn't make it easier/faster, it just makes it possible to do it at a large scale. Fortunately for me, my fiancee likes the sys admin side of things. However, she's got … -
You should Heroku
In mid-November me and my fiancee, Audrey Roy began our startup. We had been frustrated with trying to do on-line product research and came up with an idea to take the lessons learned from Django Packages / Open Comparison and apply them to a commercial effort. The result has been Consumer Notebook, and it's been a steadily growing success. We've been bootstrapping the project. That means supporting it with consulting and grinding away on it during our free time. That means 12-16 hour days of Python, Django, and Javascript coding, marketing, system administration, graphic design, communicating with users and vendors, and a thousand other tasks. Since we've had to explore new techniques for making things work on the backend and front end, that means we've needed to have a robust system that is trivial to deploy and certain to never go down. Which, of course, requires serious sys admin skills. The Big Problem I hate system administration work. Sys admin is boring. I find it tedious and dull. Devops doesn't make it easier/faster, it just makes it possible to do it at a large scale. Fortunately for me, my fiancee likes the sys admin side of things. However, she's got …