Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Join us at DjangoCon Europe!
This year in June, the European edition of DjangoCon is going to be held in lovely Zurich, Switzerland. It is my great fortune and delight to announce that Audrey and I will be attending. Hooray! Needless to say, we're extremely excited. My trip to Europe in 2007 was an amazingly fun and educational experience, and I can't wait to share a similar experience with Audrey. We can't wait to see all our old European friends, make new ones, and be dazzled by what Europe has to offer. Also, let's face it, the conference is going to be incredible. They've lined up some awesome venues, the food (cheese, chocolate, muesli, etc) in Switzerland is world-renowned, the website looks fantastic, and they've got Jacob Kaplan-Moss to keynote. It looks so good I'm surprised there are any sponsor slots left! Talks While attending the conference, we submitted and hope to give a presentation on the positives (speed, flexibility, community, etc) and negatives (a few) of using MongoDB as a Django datastore. I'm also considering giving a second talk. Some ideas for that include: Zen of Django Django isn't for beginners (A Tredennick inspired talk explaining why teaching beginning developers Django isn't a good … -
Join us at DjangoCon Europe!
This year in June, the European edition of DjangoCon is going to be held in lovely Zurich, Switzerland. It is my great fortune and delight to announce that Audrey and I will be attending. Hooray! Needless to say, we're extremely excited. My trip to Europe in 2007 was an amazingly fun and educational experience, and I can't wait to share a similar experience with Audrey. We can't wait to see all our old European friends, make new ones, and be dazzled by what Europe has to offer. Also, let's face it, the conference is going to be incredible. They've lined up some awesome venues, the food (cheese, chocolate, muesli, etc) in Switzerland is world-renowned, the website looks fantastic, and they've got Jacob Kaplan-Moss to keynote. It looks so good I'm surprised there are any sponsor slots left! Talks While attending the conference, we submitted and hope to give a presentation on the positives (speed, flexibility, community, etc) and negatives (a few) of using MongoDB as a Django datastore. I'm also considering giving a second talk. Some ideas for that include: Zen of Django Django isn't for beginners (A Tredennick inspired talk explaining why teaching beginning developers Django isn't a good … -
uWSGI
uWSGI. Hatte ich scheinbar noch nicht – ein Kollege hat mich gerade darauf hingewiesen. Könnte besonders für Django-Projekte interessant sein, weil es wesentlich flexiblere Prozesssteuerung und Monitoring bietet als der flup-basierte runfcgi in Django. -
The state of Django money.
Updated (2012-04-11): Now contains the final and correct pip install command. TL;DR: pip install django-money will give you a working set of Django fields that handle Money and Currency. Read below for how that happened. I began this Easter weekend trying to finish up one of my pet-projects and get it ready to publish. The goal of the website is to compare providers, of the same thing, from around the world. Representing prices is simple. A float will do if you are in a hurry. Except. When you need to perform calculations and you run into rounding errors. At that point you will likely discover the Decimal module. Which also works perfectly fine. And if you only ever deal in a single market that is fine. But across markets? That requires Money. Money is normally defined as a value and currency. Once you have both of those, you can then do cross-market comparison – and upgrade you program to handle multi-currency – easily. I hoped that I was not the only person who had realised this, so I started to look around. And I struck gold! I found Python Money. It even included appropriate Django fields as well. Unfortunately it … -
Django book status
-
Paranoid Django Templates
If you've ever wanted to know if a Django template is using a variable it shouldn't be, or not using a variable it should, this code will make both cases fail loudly. Django's default template behaviour is to silently replace missing variables with an empty string, and ignore unused variables. To use this code you can either: wrap your Context (or RequestContext) object in your view with a ParanoidContextProxy that will fail on any attempt to access a missing variable, or use the paranoid_render_to_response function (or similar) to also require that every variable you pass be used in the template. -
vim tips
He actualitzat la configuració que faig servir per a fer feina amb Vim per programar amb Python i Django a partir de l'article de sontek, llevant coses que no faig servir o que m'agrada més tenir en una consola: py.test, git, etc. i afegint algunes definicions que m'han anat molt bé a llarg dels anys. Ho podeu trobar a http://code.google.com/p/trespams-vim/ La millora més important és la descoberta de Pathogen, que ens permet gestionar millor els plugins i del plugin gundu que ens permet veure els canvis a un fitxer, com si fos un control de versions local. Manteng cla configuració de backup i com que tinc força memòria als ordinadors que faig servir tenc llevat també el swapfile. Aquest punt em servirà com a recordatori de combinacions de tecles útils a més de les habituals de vim. Tecla leader. Surt per tot a vim. Mapejada a coma (,) Tancar la finestra quickfix ,cc Anar a una finestra: ctrl+jklh Veure els registres: ,r Copiar a un registre texte seleccinat: "y Aferrar des d'un registre "<registre>p" Mostrar la finestra de canvis: `g Canvia el directori de treball: ,. Executa el validador PEP8 ,8 Veure els marcadors: :marks Estableix un marcador m Ves … -
Using Arrays as Materialized Paths in Postgres
Something we’ve been casually working on at Disqus for quite some time is an improved pagination method for threaded comments. This is obviously pretty important to us, it drives the very foundation of our product. It also happens to be an area that’s somewhat challenging, and has a … -
Release 0.7.0 beta 7
We just released LFS 0.7.0 beta 7. This is the next beta relase of the 0.7 branch. What's new? Bugfix: display ``displayed properties`` in the correct order py positions; issue #184 Bugfix: display property options in the correct order by positions within filter portlet Bugfix: fixed image presentation directly after upload within shop management interface (Maciej Wi?niowski) Bugfix: fixed display of discounts New: added variants tab to documentation Updated Polish translations (Maciej Wi?niowski) Updated German translations Information You can find more information and help on following locations: What's new for version 0.7 Documentation on PyPI Demo Releases on PyPI Source code on bitbucket.org and github. Google Group lfsproject on Twitter IRC LFS on EuroPython 2012 We are sprinting on this year's EuroPython in Florence. Don't hesitate to join us, see: https://ep2012.europython.eu/p3/sprints/ and LFS sprint topics for more. -
Release 0.6.13
We just released LFS 0.6.13. This is a yet another bugfix release of the 0.6 branch. Changes Bugfix: fixed display prices for properties (Maciej Wi?niowski) Bugfix: fixed TinyMCE for several browsers (Maciej Wi?niowski) Bugfix: display credit card fields if the type of the selected payment method is credit card; #issue: 191 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 LFS on EuroPython 2012 We are sprinting on this year's EuroPython in Florence. Don't hesitate to join us, see https://ep2012.europython.eu/p3/sprints/ and LFS sprint topics for more. -
Using Arrays as Materialized Paths in Postgres
Something we've been casually working on at Disqus for quite some time is an improved pagination method for threaded comments. This is obviously pretty important to us, it drives the very foundation of our product. It also happens to be an area that's somewhat challenging, and has a wide array of... -
Using Arrays as Materialized Paths in Postgres
Something we've been casually working on at Disqus for quite some time is an improved pagination method for threaded comments. This is obviously pretty important to us, it drives the very foundation of our product. It also happens to be an area that's somewhat challenging, and has a wide array of... -
Release 0.5.2
We just released LFS 0.5.2. This is a yet another bugfix release of the 0.5 branch. Changes Bugfix: display displayed properties in the correct order py positions; issue #184 Bugfix: display property options in the correct order by positions within filter portlet 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 LFS on EuroPython 2012 We are sprinting on this year's EuroPython in Florence. Don't hesitate to join us, see https://ep2012.europython.eu/p3/sprints/ and LFS sprint topics for more. -
Standing desk
-
Caktus' Django Fundamentals Bootcamp
I'm excited to announce that on June 9th and 10th, Caktus will be hosting our first Django bootcamp. It will be a two day intensive bootcamp session where you'll learn the basics of developing a web application using Django through constructing a crossword drill application, created by the Caktus staff. It will go over the ... -
Caktus' Django Fundamentals Bootcamp
I’m excited to announce that on June 9th and 10th, Caktus will be hosting our first Django bootcamp. It will be a two day intensive bootcamp session where you’ll learn the basics of developing a web application using Django through constructing a crossword drill application, created by the Caktus staff. It will go over the architecture of Django and also different third party applications that will allow you to enhance the finished product. For more information regarding our bootcamp, you can check out the schedule of the day’s events. -
Python Library for University of Waterloo Open Data API
Open Data is awesome. I think there is real value in information made available through flexible standards such as JSON for build the next generation of useful web experiences. The Open Data initiative at the University of Waterloo has gathered their api at api.uwaterloo.ca which gives you access to courses, parking, and the weather. I created a Python library to wrap the API to make it even easier to use: https://bitbucket.org/amjoconn/uwaterlooapi* *github version to come soon >>> from uwaterlooapi import UWaterlooAPI >>> uw = UWaterlooAPI(api_key="YOUR API KEY") >>> uw.weather() {u'Date': u'04-01-2012', u'Current': {u'Windchill': u'NA', u'Temp': u'4.1', ... I was bit surprised not to find a Python library designed to make building REST API wrappers easier. My approach, like most API wrappers, is a good start, but lacks the elegance of a solution applied to many different instances of the problem. Let me know if you create something using this library. -
Tracking deployments in Graphite
We use Graphite in Web Development to track metrics on our sites. For the Marketplace and Addons team, it has been a real eye opener into the state of our sites. One thing that I’ve wanted to add is information on when deployments occur as these are often critical periods that can trigger changes in [...] -
Tracking deployments in Graphite
We use Graphite in Web Development to track metrics on our sites. For the Marketplace and Addons team, it has been a real eye opener into the state of our sites. One thing that I’ve wanted to add is information on when deployments occur as these are often critical periods that can trigger changes in the graphs. Sure enough, this has all been done before and covered in a blog post. Following on from that blog post, here’s how I added this for the Marketplace. First, I added a management command to django-statsd that allows you to easily send a ping to Graphite for a specific key. The value of the key is set to be a UNIX time stamp. Once that was in place I altered our deployment scripts so that on each update they send a ping with the key “update”: python2.6 manage.py statsd_ping --key=update Then each time a server is deployed that key gets added to Graphite. Next, I altered our graphs so that they show this ping as a vertical line. That’s using the command drawAsInfinite, for example: drawAsInfinite(stats.timers.addons-dev.update.count) Our development server updates on every commit. In other words, it continually deploys all the time. This … -
django-propaganda: simple newsletter app
Hey you, political leader, founder of a new religion or spiritual guru! With this application, your acolytes will receive the official organizational propaganda pamphlets right into their inboxes. Keep them updated with the Truth! In a recent fever that drove me to program a system for the marketing department at my Barcelona SEO company, I developed a project that integrates Django admin to create basic versions of newsletters, manage the subscribers, and queue emails for later delivery using Celery workers and Amazon SES as platform. So now I published on GitHub the part that manages the basic models and functions: https://github.com/nabucosound/django-propaganda/ This simple Django application is made to be used for trivial newsletter (pamphlets) deliveries with your information (propaganda), where you supply the raw content (both plain text and HTML versions) to be delivered. Subscribers will then receive the emails you send. In the coming days I will maybe open source code for a sample project using the app, as well as all that components to finish the subscriber mailing cycle, or perhaps write a post with the instructions that I found useful to achieve that. In the meantime, I uploaded django-propaganda to the Python index, so that can easily … -
Class Based Views Part 1: TemplateView and RedirectView
This is the first episode in a series of videos on Class Based generic Views. These are important to learn since the function based generic views are being deprecated, and Class Based generic Views will help to streamline things moving forward when dealing with views. This video goes over the most basic views, TemplateView and RedirectView. The video uses simple scenarios, but usable, to get you started.Watch Now... -
Class Based Views Part 1: TemplateView and RedirectView
This is the first episode in a series of videos on Class Based generic Views. These are important to learn since the function based generic views are being deprecated, and Class Based generic Views will help to streamline things moving forward when dealing with views. This video goes over the most basic views, TemplateView and RedirectView. The video uses simple scenarios, but usable, to get you started.Watch Now... -
Announcing our first keynote speaker: Jacob Kaplan-Moss
I am very excited to announce our first keynote speaker for DjangoCon Europe 2012 - Jacob Kaplan-Moss.Back in 2005, Jacob joined Lawrence Journal-World, a Kansas newspaper company, and began working with Adrian Holovaty and Simon Willison on what was known as "the CMS" - a Python alternative to the newspapers' PHP systems that were starting to strain under their own weight. "The CMS" became Django, narrowly escaping being named "Fizgig", "Banister" or "Festoon". It took shape as a framework and was released under its BSD licence in 2005.Having helped bring Django into the world, Jacob also led development on the Ellington CMS for news and media sites, and is a founder and board member of the Django Software Foundation - so as well as having being intimately involved in Django's conception and birth, he continues to nurture its development.Jacob is currently a partner at Revolution Systems. It's a great pleasure to have him with us at DjangoCon Europe. -
Now Hiring: An Awesome Designeloper!
Now Hiring: An Awesome Designeloper! -
Django redirect on duplicate object creation
So I had this project with a peculiar requirement: It had to do a redirect to an existing object when the CreateView failed because such an object already existed in the db. Not really hard to do but it took me a while to figure out.. so here's the code. class ExampleCreateView(CreateView): def form_invalid(self, form): try: obj = Example.objects.get(foo=form.instance.foo) url = obj.get_absolute_url() return HttpResponseRedirect(url) except ObjectDoesNotExist: pass return super(ExampleCreateView, self).form_invalid(form)