Django community: Community blog posts RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Python class at Master in Free Software 09/10
Last Friday I gave an introduction to Python as class in Master in Free Software. In this session I tried to cover Python from the very basics to decorators, properties and PDB. All covered only as an overview, not in deep detail. After the introduction we did a simple PyGTK application to list the files [...] -
New Django installation
I just got a new machine, with x64 processor (Pentium D Dual Core — nice machine!) and naturally it’s already running Linux. SUSE 10, to be specific. Now I wanted to move my Django project over from the old machine and the Django installation kept failing. The setup.py told me: Installed /home/tietze/temp/Django-0.91 Because this distribution was installed [...] -
Amazed at Django
I spent this weekend working on a new portal site for which I had the idea a couple of days ago (yeah, I know — weekends are for something else; but it was absolutely freezing cold here in Germany, so I succumbed to my inner geek). I’m building the site using the Python Web framework [...] -
Exhedra: a conferencing/forum application in Django
I've recently started some development on the Exhedra project (a conferencing/forum application) using Django. For anyone reading this post on SDJournal, the posts from this category are also syndicated on the Django Community page. Rather than clutter up that page with multiple posts about this project I've set up a separate weblog to cover it. -
Django IRC logs to the rescue
The 2nd Django tutorial starts with getting the admin interface up and running by creating an initial user account and using the built in development web server. However, after following the instructions quite closely I was still getting Tried all URL patterns but didn't find a match for /admin when requesting the admin URL. A search of the IRC logs for #django revealed that for it to work the settings module must be set to .admin so if you're using myproject.settings.main for the working with the model in the first tutorial you'll need --settings=myproject.settings.admin. -
Django Framework
Django is a Python web application framework. It's been developed and used over the past 2 years to run a number of online news sites such as lawrence.com and LJWorld.com. It has recently been made available under a BSD license and already a community is building around it. It seems to be focused on automating as much as possible and adhering to the DRY principle.Looks like Adrian Holavity and Jacob Kaplan-Moss are the guys behind it.Update: From the FAQ, the other Django developers are Simon Willison (whose weblog I've been reading for a long time) and Wilson Miner. -
Suggesting tags with django-taggit and jQuery UI
One of the problems mentioned by a couple people when I asked for suggestions on improving djangosnippets.org was the proliferation of tags. This is a well-known problem on sites that allow users to enter their own tags, where misspellings are frequent and its sometimes unclear whether a tag should be plural or singular. To try and reduce the amount of different tags on djangosnippets I ended up using the jQuery UI autocomplete tools to provide users with hints when they enter tags for their snippets. How it works There are two components, a view that returns JSON based on the partial tag that the user has typed in, and some JavaScript that fetches the results and updates the input element. The jQuery autocomplete stuff is a little opaque and seems well-designed for the simple case but when it comes to extending it the docs weren't very helpful. I looked at Nathan Borror's autocomplete helper for some of the ideas on extending the default functionality. The view is pretty straightforward. It takes the incoming request and peels off the query, then filters the database of Tags for those matching the query adding a "count" of how many snippets are using that … -
Is there a market for paid Django apps?
Here's a thought that's been rummaging around in my brain for some time now: is there a market for commercial, closed-source Django apps? Suppose someone released a high-quality, well-documented, well-supported Django app… under a commercial license. Assume of course that this app does something you actually need, and that the commercial license isn't odious. Would you pay for a Django app? I think I would. I have no qualms about paying for good software: in the last month I bought some backup software (Arq), started using a commercial ticket tracker (Pivotal) and time tracker (Freckle). In all cases, free/libre alternatives existed, but the paid versions were easier, slicker, faster, or in some sense "better." Enough so that they justified their prices (to me). I think if Haystack (to pick an arbitrary example) was commercial (and reasonably priced) I'd pay for it — the time required to build an alternative would almost certainly cost me more. On the other hand, there's also a definite anti-capitalist vein in the open source community. It waxes and wanes, and different sub-communities exhibit the trend more than others, but there's always a certain resistance to paying for software. Most of us understand that "libre"" is … -
Announcing django-easyfilters (with some heresy on the side)
Announcing django-easyfilters, a new library for Django, and a bit of heretical editorial about Django's ORM. -
Is there a market for paid Django apps?
Here’s a thought that’s been rummaging around in my brain for some time now: is there a market for commercial, closed-source Django apps? Suppose someone released a high-quality, well-documented, well-supported Django app… under a commercial license. Assume of course that this app does something you actually need, and that the commercial license isn’t odious. Would you pay for a Django app? I think I would. I have no qualms about paying for good software: in the last month I bought some backup software (Arq), started using a commercial ticket tracker (Pivotal) and time tracker (Freckle). -
My PyCon APAC 2011 Presentation: Optimizing Media Performance with django_compressor
I have given a presentation about django_compressor at PyCon APAC 2011. Slides are below for everyone to see: Optimizing Media Performance with django_compressor View more presentations from muhuk Related posts: Working with files in Django – Part 1 Working with files in Django – Part 2 Working with files in Django – Part 3 -
Django snippets site improvements, what would you like to see?
Describing some of the improvements made to the django snippets site over the past couple weeks and asking for user feedback on additional improvements they'd like to see. -
Setting up Django with Green Unicorn, nginx, supervisord and fabric on CentOS 5.5
When I first started working with django I deployed my apps using apache and mod_python. Then after a little while I started playing with nginx and switched my setup so that nginx was serving the static content and reverse proxied requests back to apache and mod_python. Not too long after that, I switched out mod_python with mod_wsgi and ran mod_wsgi in daemon mode. This setup worked well for a while, but one thing I never really liked was the fact that I needed to run apache which is pretty heavy even when you strip out all the unused modules. Apache is great, but all I was really using it for was a router between nginx and mod_wsgi, I wasn't using any of the other features in apache. I looked at fastcgi and uswgi and they looked good, but for one reason or another I never made the jump. Recently I have been hearing a lot of good things about green unicorn, so I decided to check it out. When I first looked at it, it was fairly new and because of this a little concerned with stability, so I kept and eye on it and watched it mature. While I … -
The End of an Era
Well, here we are. Three years at The University of Nottingham, and what do I have to show for it? Well, this is what: That's right! I have a recommendation for a first in Computer Science. It turns out both my supervisor and second marker were fond of my dissertation - Backtrac Backup System - [...] -
Redis
Ja fa un grapat de mesos estic fent cosetes amb Redis, una base de dades de les anomenades noSQL, molt semblant en funcionament a Memcached. Val a dir que a Redis hi vaig arribar a partir de Celery, la utilitat per crear i gestionar tasques per Python i Django. Vaig trobar la combinació Celery més Redis molt bona quan no necessites tota la potència, ni tota la complexitat que et dóna RabbitMQ. La idea, una vegada hagi finalitzat les proves, és anar substituint Memcached per Redis com a sistema de caché per les aplicacións Django. També hi ha un projecte per fer que les sessions també puguin estar damunt Redis, així que crec que també li tocarà. A més, d'aquesta manera ja tenim una base de dades addicional per fer-la servir quan sigui necessari. Redis ofereix una cosa que Memcached no té, la persistència de la informació. En el cas de la caché, Redis pot ajudar a solucionar un dels problemes més importants que hi ha quan un fa aplicacions grans, la invalidació de les cachés. Amb memcached la invalidació sovint és un tot o res, és complexa fer que s'eliminini sols una part de la informació si no saps … -
Do not upload dev releases at PyPI
In my last blog post I mentioned that the plan was to release the django-uni-form 0.8.0 final in about six days. To my chagrin I was pointed at Tarek Ziade's post about not publishing beta releases on PyPI. So the django-uni-form team has now pushed up the 0.8.0 release of the library today, and removed the BETA from discovery via the web or pip.Lesson learned: Until future notice from the distutils2 effort led by Tarek, if you are running a project that has any Stable releases, don't use PyPI to publish non-final versions. -
Custom app names in the django admin
EDIT: This approach is flawed – it will never work in the app_index page (/admin/appname/) and can cause problems with contenttypes queries. You are better off overriding the admin templates (lots of them unfortunately). To avoid hardcoding the app_label in the templates wrap it in trans tags and use the internationalization framework to map the internal name to your desired display name. EDIT 2: You can also use this. Suppose you have a model like this: class Stuff(models.Model): class Meta: verbose_name = u'The stuff' verbose_name_plural = u'The bunch of stuff' ... You have verbose_name, however you want to customise app_label too for different display in admin. Unfortunatelly having some arbitrary string (with spaces) doesn’t work and it’s not for display anyway. Turns out that the admin uses app_label.title() for display so we can make a little hack: str subclass with overriden title method: class string_with_title(str): def __new__(cls, value, title): instance = str.__new__(cls, value) instance._title = title return instance def title(self): return self._title __copy__ = lambda self: self __deepcopy__ = lambda self, memodict: self Now we can have the model like this: class Stuff(models.Model): class Meta: app_label = string_with_title("stuffapp", "The stuff box") # 'stuffapp' is the name of the django app … -
Custom app names in the django admin
EDIT: This approach is flawed - it will never work in the app_index page (/admin/appname/) and can cause problems with contenttypes queries. You are better off overriding the admin templates (lots of them unfortunately). To avoid hardcoding the app_label in the templates wrap it in trans tags and use the internationalization framework to map the internal name to your desired display name. EDIT 2: You can also use this. Suppose you have a model like this: class Stuff(models.Model): class Meta: verbose_name = u'The stuff' verbose_name_plural = u'The bunch of stuff' ... You have verbose_name, however you want to customise app_label too for different display in admin. Unfortunatelly having some arbitrary string (with spaces) doesn't work and it's not for display anyway. Turns out that the admin uses app_label. title () for display so we can make a little hack: str subclass with overriden title method: class string_with_title(str): def __new__(cls, value, title): instance = str.__new__(cls, value) instance._title = title return instance def title(self): return self._title __copy__ = lambda self: self __deepcopy__ = lambda self, memodict: self Now we can have the model like this: class Stuff(models.Model): class Meta: app_label = string_with_title("stuffapp", "The stuff box") # 'stuffapp' is the name of the … -
Custom app names in the django admin
EDIT: This approach is flawed - it will never work in the app_index page (/admin/appname/) and can cause problems with contenttypes queries. You are better off overriding the admin templates (lots of them unfortunately). To avoid hardcoding the app_label in the templates wrap it in trans tags and use the internationalization framework to map the internal name to your desired display name. EDIT 2: You can also use this. Suppose you have a model like this: class Stuff(models.Model): class Meta: verbose_name = u'The stuff' verbose_name_plural = u'The bunch of stuff' ... You have verbose_name, however you want to customise app_label too for different display in admin. Unfortunatelly having some arbitrary string (with spaces) doesn't work and it's not for display anyway. Turns out that the admin uses app_label. title () for display so we can make a little hack: str subclass with overriden title method: class string_with_title(str): def __new__(cls, value, title): instance = str.__new__(cls, value) instance._title = title return instance def title(self): return self._title __copy__ = lambda self: self __deepcopy__ = lambda self, memodict: self Now we can have the model like this: class Stuff(models.Model): class Meta: app_label = string_with_title("stuffapp", "The stuff box") # 'stuffapp' is the name of the … -
Announcing django-uni-form 0.8.0 beta!
This has been a long time coming, but I am pleased to announce the release of the django-uni-form 0.8.0 beta. We plan to release the 0.8.0 final next Friday around the start of July 2011.This is an enormous jump forward in the project, and I think you'll like what has been done and who contributed.Some notable changesAs of this release, there is now a formal django-uni-form release on PyPI that fully supports Django CSRF tokens.Better error messages to help you debug. No more annoying Null messages on bad helpers!The Python code has been carefully cleaned and optimized. Much easier to read, debug, and it plain runs faster on form heavy sites.Various improvements to the templates to better match the parent Uni-Form library.Only compatible with Django 1.2 or higher and Python 2.6 or higher. If you need something to work with other earlier versions of Django/Python, then I suggest using django-uni-form 0.7.0. Or better yet, upgrade your site!Much improved documentation on the awesome readthedocs.org site.Tons of other things!Upcoming faster release cycles. More on that in the next section...Leadership change for django-uni-formLet's face it, over a year between releases is too long for any active open source project. I haven't done the incredible … -
Running Django, Rails and Mojolicious on Windows Server 2008 with IIS 7
Recently released Helicon Zoo is a repository of popular web frameworks for Microsoft IIS. It makes installing and running Django, Ruby on Rails and Mojolicious on Windows Servers a piece of cake. THIS ARTICLE IS OUTDATED Please read following articles to find information how to run Django, Rails and other popular web engines on IIS: Running Django on Windows (with performance tests) Node.js on Windows (with performance tests) Ruby on Rails on Windows in production Deploying Java Servlet applications on Windows with IIS Running Railo on IIS in production And you can find usage examples for various web engines on a usage page. How it works Helicon Zoo utilizes Microsoft Web Platform Installer (WebPI) to make installation of web frameworks and all required dependencies easy and smooth. At first, you need to download and install WebPI from Microsoft web site here. This is a great tool that is already packed with many ASP.NET and PHP applications and dependencies to install a whole technology stack on your server. And the greatest thing about WebPI is that it can be extended by adding custom repositories. So copy this link - http://www.helicontech.com/zoo/feed/, open WebPI options put it into the Display additional scenarios field … -
EuroPython
-
Django at Scale slides
-
Backing up your database
Let me start by saying that there are MANY ways to backup databases and this might not be the absolute best way, but it definitely works. I’m backing up my PostgreSQL database that happens to be populated by Django, but you can muck with things as you see fit. So, one of the decisions I had to make is whether to save a representation of the data or to just dump the database data itself. The first option would be something like this: python manage.py dumpdata --format=yaml Second option is to talk directly to the database. The benefit of this option is you get everything about the database in its current setup. Let’s say you made some changes to the schema directly within PostgreSQL. If you dumped the data into YAML or JSON you wouldn’t get those changes to the database itself. So it’s probably prefereable to go straight to the DB like so: pg_dump <DATABASE NAME> What I ended up with is a nightly backup on the database server. Then I pull that data from onto a second server using rsync. Steps it took: 1. Setup e-mail sending, so that I get cron e-mails. $ sudo apt-get install … -
Django Facebook 2.0 – Integrating Facebook
It’s been a year since Facebook changed the web with the open graph API and their like button. Unfortunately Facebook didn’t have much developer love for the python/django platform. Django Facebook aims to make it easy to build facebook apps and integrate facebook with your website. Key functionality One of the strong points of Django Facebook is the ability to register users using Facebook. It ports all of Facebook’s user data to the Django user and profile models. This allows you to have a secure register/connect/login flow using Facebook, greatly reducing the barriers to start using your application. Below an example of me registering for Fashiolista using the Facebook register flow. Me on Facebook Me on Fashiolista In this blog post I will explain how to get started implementing a Facebook connect flow. Django Facebook can however do quite a bit more, as you can see in the feature list below. Development over at the github repo is very active. I strongly appreciate help on improving the functionality so please fork and contribute. Features Register users using the Facebook open graph API Full profile data birthday, gender, website, about me, username, email and picture Support for mobile authentication Fallback to …