Django community: Community blog posts RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Open Source Projects and Thoughts
My FOSS Preferences*Update: Added link to post on The Cathedral and The Bazaar and installing and using a FOSS project.During this semester teams of four students will be responsible for joining an existing open source community and contributing to the community in a meaningful way such as bug fixes or documentation updates. However before the teams are formed, each student is to select three potential projects and give a description of the projects, and what about the project interests the student. My three selections are: Sugar Lab, Django, and Open Medical Records System (OpenMRS).I have prior experience with two of the projects, OpenMRS and Django. During CSCI 362 - Software Engineering my team and I developed an automated unit testing framework for OpenMRS. On various occasions I have I employed various web application frameworks for development of websites, with Django becoming my currently preferred framework due to my enjoyment of the Python language.While I have only recently started using Python (CofC CS students use Python in the introductory CS course, but my introductory course at Clemson was taught in Java), I am rapidly becoming an ardent fan. Maybe not as much as Randall Munroe, but very close.Image attribution: http://imgs.xkcd.com/comics/python.pngSugar Labs is an open source educational platform. The … -
About selecting CFP ( from a conference geek)
Me in the backstage of djangoday 2012 I had the joy of organizing a couple of conf with my fellows of WebDeBs. After been an attendee in many conferences and a speaker at some of them it has been a very nice and playful experience be in the staff. This Year I submitted a CFP for the DjangoCon.eu. They had a fancy and democratic way of selecting CFPs: Anonymise submissions, to eliminate -
Whiskers behind SSL
Since April 2012 we are using Whiskers to store information about our Plone and Django buildouts. But when I moved the setup behind SSL, the browser started to complain about unsafe content. While I could access Whiskers via https://whiskers.example.com, references in the HTML to the favicon and the CSS were to http://whiskers.example.com/static/… And that either generates a warning about unsafe content or the browser might decide to not load the assets at all. And especially the missing CSS was severely impacting the usability. First I tried to solve this in Whiskers itself. But I soon discovered that the master.pt template in Whiskers contains several calls to static_url, for instance: <link rel="stylesheet" href="${request.static_url('whiskers:static/css/bootstrap.css')}" ... /> <link rel="stylesheet" href="${request.static_url('whiskers:static/whiskers.css')}" ... /> And those resolved to http://whiskers.example.com/static/… so I had to convince Whiskers (or actually Pyramid) that we were using SSL. As a result my next attempts involved changing the Apache configuration. But after trying several options I could not get it working (possibly also due to an older version of Apache). So I left the configuration unchanged: <VirtualHost <ip>:443> ... basic stuff about the server name, logs and SSL certificates ... RewriteEngine on ProxyPreserveHost on # We use a custom CSS file. … -
Winds of Change
In my previous post I mentioned that 2013 would be a year of change. Well, here is the moment to say why that will be so: I have quit Igalia. Igalia is a very special company to me, I joined it in December 2008. These were 4 intense years where I saw how the company evolved, how it moved to a cool new office, how it grew and I learned a lot in there. I had the chance to participate in several important projects like Maemo or Meego and also to create others. I could even tell the world about them in the many conferences I spoke at and I am also proud to have accomplished things such as putting the company’s name for the first time in the highlights of online media like ArsTechnica. So the question people always ask is: why did I leave!? As some of you may know, Igalia is organized in a flat structure where we take more responsibilities than just coding and the ultimate part of a career in the company is to become a partner. I knew this when I joined and I think this is a wonderful thing. Being at the end … -
Switching to pip for Python deployments
For the last year or so addons.mozilla.org and marketplace.firefox.com have deployed primarily by pulling the entire project out of github. Required libraries were placed in a git submodule called vendor. Vendor was then a git submodule of our project, meaning we had recursive submodules. At deployment time we recursively pulled all the modules from github to our master server. This created a few issues. The recursive pull from github was quite slow as we pulled down an awful lot of code. To update something in vendor was quite a tortuous path of updates that generated quite a few expletives from most developers the first few times they tried it. Scripts were written to make that made it easier, but that was just addressing the symptom. Multiple commits appeared in zamboni that had accidental vendor changes in the submodule and more expletives were uttered. Because everything ended up underneath the main project anything that recursively searched directories took longer. Some git commands, greps, test runs etc took longer and longer as the vendor library grew. Finally, building packages and using pypi and the existing community infrastructure is a good thing. It means that our code is as close to as normal … -
The Definitive Answer, Explained
Yesterday I posted that Django was almost certainly suitable to use for your project. Here's my explanation of my one-word answer, with my views on how your non-technical business should make technical decisions. (Hint: You shouldn't) -
The Definitive Answer, Explained
Yesterday I posted that Django was almost certainly suitable to use for your project. I've had some minor push-back, so I thought I'd explain a little. When beginning a project, many businesses appear to spend an inordinate amount of time making technical decisions that are often outside their area of expertise. One such decision might be from a small business owner wanting to decide whether to build their shopping cart with Django, Rails, or PHP. The hard truth is that for the most part, this decision doesn't matter. All three of the above can be used to successfully build exactly the sort of shopping cart that you want, no matter how bespoke. An article I came across this week talked about the same theme but in a different context. It's by Forbes' Gene Marks, and is titled What Salesforce.com Won't Tell You. The message here is that no matter what CRM solution you implement, you'll get results if you implement it well - and that means getting the right people to build/design it, getting your staff on board, and making sure somebody owns the system. This applies to your website project, too. Ensure somebody at your company owns the website … -
The Definitive Answer, Explained
Yesterday I posted that Django was almost certainly suitable to use for your project. I've had some minor push-back, so I thought I'd explain a little. When beginning a project, many businesses appear to spend an inordinate amount of time making technical decisions that are often outside their area of … -
The Definitive Answer To "Can I Use Django For This Project?"
Short: Yes. Longer: Almost certainly. If you don't know any technical reason why Django isn't a good fit, then Django is probably a good fit. -
The Definitive Answer To "Can I Use Django For This Project?"
Short: Yes. Longer: Almost certainly. If you don't know any technical reason why Django isn't a good fit, then Django is probably a good fit. -
The Definitive Answer To "Can I Use Django For This Project?"
Short: Yes. Longer: Almost certainly. If you don't know any technical reason why Django isn't a good fit, then Django is probably a good fit. -
Einladung zur Django-UserGroup Hamburg am 09. Januar
Das nächste Treffen der Django-UserGroup Hamburg findet am Mittwoch, den 09.01.2013 um 19:30 statt. Dieses Mal treffen wir uns wieder in den Räumen der intosite GmbH im Poßmoorweg 1 (3.OG) in 22301 Hamburg. Da wir in den Räumlichkeiten einen Beamer zur Verfügung haben hat jeder Teilnehmer die Möglichkeit einen kurzen Vortrag (Format: Lightning Talks oder etwas länger) zu halten. Konkrete Vorträge ergeben sich erfahrungsgemäß vor Ort. Eingeladen ist wie immer jeder der Interesse hat sich mit anderen Djangonauten auszutauschen. Eine Anmeldung ist nicht erforderlich, hilft aber bei der Planung. Weitere Informationen über die UserGroup gibt auf unserer Webseite www.dughh.de. -
Pyramid experiment, (temporarily) no Django
I'm currently experimenting with a pyramid site at work. Why not Django, which we use for everything else? (For Pyramid, see a summary of a Dutch Python usergroup meeting talk about Pyramid.) Current situation: well-structured collection of Django apps Well, our current system (called Lizard) is a big structured collection of Django apps. "Lizard-ui" is an app with base python views (class based views) and base templates for the UI and a whole bunch of css (bootstrap-based) and javascript (jquery, openlayers, lots of extras). This gives you a generic layout with a header, sidebar, the correct colors. Lots of stuff to make it easy to quickly build your project (once you buy into the basic structure and learn to work with it). "Lizard-map" builds upon lizard-ui and adds map views. Geographical information. Some "adapter mechanism" that basically provides an interface to connect any kind of data source to our map mechanism. There are quite a lot of data sources that we've mapped to maps this way. Rendering it, querying, returning a location's CSV data, a location's flot/matplotlib graph, combining various data sources, etc. Great to get going, but you do have to get to know the underdocumented interface. And it … -
Django 1.5 release candidate
Django 1.5 release candidate -
Django 1.5 release candidate
Django 1.5 release candidate -
Handle X-Forwarded-Port Header in Django
Handle X-Forwarded-Port Header in Django When running on a non-standard port, and behind a load balancer/proxy, it has become "standard"[1] to forward along a header called X-Forwarded-Port. This header is very similar to X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-For in the sense that it's forwarding relevent information about the originating request and telling your backend to ignore the values it's aware of. In this case, X-Forwarded-Port is not supported by Django natively, and the easiest way to handle it is through a simple middleware: class XForwardedPort(object): def process_request(self, request): try: request.META['SERVER_PORT'] = request.META['HTTP_X_FORWARDED_PORT'] except KeyError: pass return None This will allow urls to be properly reversed with the correct port as you'd expect. References https://gist.github.com/4439597 Footnotes [1] I use quotes because nobody has a fucking clue what's really going on with this shit. There isn't a standard, just an idea that a few people started implementing. -
Handle X-Forwarded-Port Header in Django
Handle X-Forwarded-Port Header in Django When running on a non-standard port, and behind a load balancer/proxy, it has become "standard"[1] to forward along a header called X-Forwarded-Port. This header is very similar to X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-For in the sense that it's forwarding relevent information about the originating request and telling your backend to ignore the values it's aware of. In this case, X-Forwarded-Port is not supported by Django natively, and the easiest way to handle it is through a simple middleware: class XForwardedPort(object): def process_request(self, request): try: request.META['SERVER_PORT'] = request.META['HTTP_X_FORWARDED_PORT'] except KeyError: pass return None This will allow urls to be properly reversed with the correct port as you'd expect. References https://gist.github.com/4439597 Footnotes [1] I use quotes because nobody has a fucking clue what's really going on with this shit. There isn't a standard, just an idea that a few people started implementing. -
New Year's Resolutions for 2013
I'm one of those people who not only likes to make New Year's Resolutions, I like to blog about them. Resolution Go to at least one technical conference in North America, South America, Europe, Asia, Africa, and Australia. Visit at least one new nation. It's hard to come up with preferences since the whole world is so exciting. Go back to at least one of the nations I've visited before. Take a road trip across the USA. See the Grand Canyon. Keep to a 32 waist for the whole year. Visit friends and family back east. Blog once a week. That is at least 52 blog entries! Visit the beach for more than one day. Take a fun class with Audrey. Teach some Python or Django. Build something real using Twisted as a critical component. Take a high level Python class from the likes of Raymond Hettinger or David Beazley. Commit to core Python Visit my Son. Upload all my outstanding pictures to Flickr! Pull off an Aú sem Mão (no-handed cartwheel). Attend my first Capoeira Batizado (formal gathering). Work out at least three times a week. Learn how to surf or snowboard. Have a beer with Thomas, Andy, Andy, … -
New Year's Resolutions for 2013
I'm one of those people who not only likes to make New Year's Resolutions, I like to blog about them. Resolutions Go to at least one technical conference in South America, Asia, Africa, and Australia. Visit at least one new nation. It's hard to come up with preferences since the whole world is so exciting. Take a road trip across the USA. See the Grand Canyon. Keep to a 32 waist for the whole year. Blog once a week. That is at least 52 blog entries! Take a fun class with Audrey. Build something real using Twisted as a critical component. Take a high level Python class from the likes of Raymond Hettinger or David Beazley. Commit to core Python Upload all my outstanding pictures to Flickr! Pull off an Aú sem Mão (no-handed cartwheel). Attend my first Capoeira Batizado (formal gathering). Work out at least three times a week. Learn how to surf or snowboard. Have a beer with Thomas, Andy, Andy, Tony, Garrick, Bernd, and the rest of Ye Aulde Gange. See my old DC area friends such as Eric, Chris, Steve, Beth, Sarah, Daye, Renee, Kenneth, Leslie, Whitney, Dave, and many others. Accomplished Teach some Python or … -
Rackspace Temporary URLs with django-cumulus
We love Rackspace at Imaginary Landscape. Recently, we needed to store a number of large files securely, and for logistical reasons, we chose to store them via Rackspace’s Cloud Files. Rackspace provides the ability to create temporary URLs for files stored via their service. This allows temporary access to ... -
New Year's Resolutions for 2013
I'm one of those people who not only likes to make New Year's Resolutions, I like to blog about them. Go to at least one technical conference in North America, South America, Europe, Asia, Africa, and Australia. Visit at least one new nation. It's hard to come up with preferences since the whole world is so exciting. Go back to at least one of the nations I've visited before. Take a road trip across the USA. See the Grand Canyon. Keep to a 32 waist for the whole year. Visit friends and family back east. Blog once a week. That is at least 52 blog entries! Visit the beach for more than one day. Take a fun class with Audrey. Teach some Python or Django. Build something real using Twisted as a critical component. Take a high level Python class from the likes of Raymond Hettiger or David Beazly. Commit to core Python Visit my Son. Upload all my outstanding pictures to Flickr! Pull off an Aú sem Mão (no-handed cartwheel). Attend my first Capoeira Batizado (formal gathering). Work out at least three times a week. Learn how to surf or snowboard. Have a beer with Thomas, Andy, Andy, Tony, … -
Mapas com GeoDjango e PostGIS
GeoDjango Tive muitos desafios em 2012, mas quero destacar o aprendizado de novas tecnologias e novos conceitos de desenvolvimento. Neste post quero destacar o GeoDjango, que foi motivo de estudos e desenvolvimento nos últimos 6 meses. Eu precisava manipular informações geográficas completas, que inclui o básico da latitude e longitude, mas também trabalhar com shapes, cálculos de área, aproximações, agrupamento de áreas, distâncias, etc. Precisava mesmo desenvolver um SIG/GIS completo e muito específico para uma demanda de projeto. O primeiro passo foi estudar sobre GIS, entender alguns conceitos básicos sobre mapas, projeções e demais conceitos. Encontrei muito material pela internet, mas também comprei alguns ebooks e livros sobre o assunto. Engana-se quem pensa que GIS está relacionado apenas a latitude e longitude. O conceito é bem amplo e complexo, cheio de variáveis e padrões diferentes de mapas, projeções e demais utilitários que te obrigam a conhecer bem o assunto para saber como processar e organizar as informações adequadamente. Depois de aprender bastante sobre GIS, o próximo passo foi encontrar tecnologias livres que atendam os pré-requisitos do projeto. Essa parte eu achei que seria difícil, mas acabou sendo uma das mais simples, pois as tecnologias que eu já trabalho no dia … -
New Year's Python Meme 2012
Tarek Ziade has a habit of ending the year with a Python-themed meme. I've matched his meme the times he previousstarted it, and as you can tell from the title of this blog post I'm matching him yet again. 1. What’s the coolest Python application, framework or library you have discovered in 2012? This question took some thought. It was a toss-up between these three choices: Django Class Based Views (CBVs) allow developers do amazing things with Django, but needed some polish (improved documentation, missing functionality) to be able to shine. ReportLab for generating PDF allowed me to create some impressive results, but the API needed updating. The other Python PDF libraries might be better, but getting images to work trivially in them If I didn't completely agree with Armin Ronacher on the subject, I might have gone with a combination of PyMongo, MongoEngine, and MongoKit. Just like Armin, I've learned through working with schemaless databases to know that schemas are awesome. The winner? Django Class Based Views In 2012 what I managed to accomplish with Django CBVs was incredible. From early self-instructional work I did for django-mongonaut, to client efforts and personal projects where I honed my craft, plus … -
New Year's Python Meme 2012
Tarek Ziade has a habit of ending the year with a Python-themed meme. I've matched his meme the times he previousstarted it, and as you can tell from the title of this blog post I'm matching him yet again. 1. What’s the coolest Python application, framework or library you have discovered in 2012? This question took some thought. It was a toss-up between these three choices: Django Class Based Views (CBVs) allow developers do amazing things with Django, but needed some polish (improved documentation, missing functionality) to be able to shine. ReportLab for generating PDF allowed me to create some impressive results, but the API needed updating. The other Python PDF libraries might be better, but getting images to work trivially in them If I didn't completely agree with Armin Ronacher on the subject, I might have gone with a combination of PyMongo, MongoEngine, and MongoKit. Just like Armin, I've learned through working with schemaless databases to know that schemas are awesome. The winner? Django Class Based Views In 2012 what I managed to accomplish with Django CBVs was incredible. From early self-instructional work I did for django-mongonaut, to client efforts and personal projects where I honed my craft, plus … -
New Year's Python Meme 2012
Tarek Ziade has a habit of ending the year with a Python-themed meme. I've matched his meme the times he previousstarted it, and as you can tell from the title of this blog post I'm matching him yet again. 1. What’s the coolest Python application, framework or library you have discovered in 2012? This question took some thought. It was a toss-up between these three choices: Django Class Based Views (CBVs) allow developers do amazing things with Django, but needed some polish (improved documentation, missing functionality) to be able to shine. ReportLab for generating PDF allowed me to create some impressive results, but the API needed updating. The other Python PDF libraries might be better, but getting images to work trivially in them If I didn't completely agree with Armin Ronacher on the subject, I might have gone with a combination of PyMongo, MongoEngine, and MongoKit. Just like Armin, I've learned through working with schemaless databases to know that schemas are awesome. The winner? Django Class Based Views In 2012 what I managed to accomplish with Django CBVs was incredible. From early self-instructional work I did for django-mongonaut, to client efforts and personal projects where I honed my craft, plus …