Django community: Community blog posts RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
django-sphinxdoc 1.0
Most Python projects use Sphinx for their documentation. And many (most?) Python powered websites use Django as framework. So there might be some people who use both Sphinx and Django. If you belong to this group and want to integrate the documentation of your projects into your Django powered website, django-sphinxdoc might be the app you’re searching for. Django-sphinxdoc can build and import your Sphinxdocumentation and provides views for browsing and searching it. You can see django-sphinxdoc in action be reading its documentation. What’s new in this version? You can now search the documentation (via Haystack). New management command updatedoc for importing and building JSON files from your documentation and updating Haystack’s search index. New model Document for JSON files. Renamed the App model to Project What’s planned for the future? Allow users to comment the documentation. You can find django-sphinxdoc in the Cheese Shop or at Bitbucket. -
django-lastfm 1.0
Django-lastfm is a small Django app that allows you to embed your charts or recently listened tracks from Last.fm into your website. You can see the widget in action in the sidebar of this website. I raised its version to 1.0 since there have been no problems for a long time and there are also no features I want to include. You can find django-lastfm in the Cheese Shop or at Bitbucket. -
django-lastfm 1.0
Django-lastfm is a small Django app that allows you to embed your charts or recently listened tracks from Last.fm into your website. You can see the widget in action in the sidebar of this website. I raised its version to 1.0 since there have been no problems for a long time and there are also no features I want to include. You can find django-lastfm in the Cheese Shop or at Bitbucket. -
Préparez un solide alibi, parce que nous savons que vous avez un mobile, un django-mobile
J'ai déjà fait un billet parlant d'une app de monsieur gregmuellegger, à savoir celui sur les websockets. Mais le monsieur étant prolifique, je me vois 'obligé' d'écrire à nouveau sur une de ses apps, à savoir django-mobile. 1- Où on le trouve, comment on l’installe, tout ça quoi (et la doc) ? Alors on trouve django-mobile à ... -
Use JSON instead of YAML for Django test fixtures
Today I learned that JSON is much faster than YAML for use in Django fixtures... -
Django-Articles 2.1.1 Released
I've been working on some neat changes to django-articles recently, and I've just released version 2.1.1. The most noticeable feature in this release is Auto-Tagging. Since I feel like I've described the feature fairly well in the README, I'll just copy/paste that section here. The auto-tagging feature allows you to easily apply any of your current tags to your articles. When you save an Article object with auto-tagging enabled for that article, django-articles will go through each of your existing tags to see if the entire word appears anywhere in your article's content. If a match is found, that tag will be added to the article. For example, if you have tags "test" and "art", and you wrote a new auto-tagged Article with the text: This is a test article. django-articles would automatically apply the "test" tag to this article, but not the "art" tag. It will only apply the "art" tag automatically when the actual word "art" appears in the content. Auto-tagging does not remove any tags that are already assigned to an article. This means that you can still add tags the good, old-fashioned way in the Django Admin without losing them. Auto-tagging will only add to an … -
Django-Articles 2.1.1 Released
I've been working on some neat changes to django-articles recently, and I've just released version 2.1.1. The most noticeable feature in this release is Auto-Tagging. Since I feel like I've described the feature fairly well in the README, I'll just copy/paste that section here. The auto-tagging feature allows you to easily apply any of your current tags to your articles. When you save an Article object with auto-tagging enabled for that article, django-articles will go through each of your existing tags to see if the entire word appears anywhere in your article's content. If a match is found, that tag will be added to the article. For example, if you have tags "test" and "art", and you wrote a new auto-tagged Article with the text: This is a test article. django-articles would automatically apply the "test" tag to this article, but not the "art" tag. It will only apply the "art" tag automatically when the actual word "art" appears in the content. Auto-tagging does not remove any tags that are already assigned to an article. This means that you can still add tags the good, old-fashioned way in the Django Admin without losing them. Auto-tagging will only add to an … -
Using Django Authentication with Twisted Perspective Broker
For my third year project, I have hooked Twisted's Perspective Broker authentication into Django, so that a networked application can authenticate itself against Django's central user database (django.contrib.auth). The process is pretty quick and easy, thanks to Twisted's pluggable nature, and Django's pure simplicity. The Checker Firstly, we create a class which will actually do [...] -
Configuration and architecture
This is the second part in my series about building a build farm for Django with Buildbot. Part 1 covered some background, including the specific problems facing a CI system for Django's core development. Starting in this part I'll be looking at the actual code I wrote to solve these problems. It's running now at buildbot.djangoproject.com, and the code's on GitHub. Please feel free to take a look (and fork/reuse if you want) but keep in mind it's very much a work-in-progress. You'll probably notice me updating this stuff a bunch over the next few days/weeks. If you're not already a bit familiar with Buildbot you might have a bit of trouble following what's coming next, particularly because I'm going to deviate quite a bit from the documented way of doing things. If you'd like to learn the "party line" -- and I suggest that you do, since I'm quite possibly doing something a bit insane here -- then I'd suggest either the official documentation (which is quite good, if a bit rough), or the relevant chapters from Jeff Younker's Foundations of Agile Python Development The first think you'll notice if you look at my code is that doesn't look … -
Taming the Komodo dragon for virtualenv and python
My first python editor on osx was textmate. Like many others I love it's simplicity, bundles, and the fact that it actually feels like an osx app and not some OS bastard love child, but after a while I found I really wanted seamless autocomplete and calltips which I'd always had on Windows. Every year I look in vain at the macromates site for textmate 2, and every year I become increasingly -
Configuration and architecture
This is the second part in my series about building a build farm for Django with Buildbot. Part 1 covered some background, including the specific problems facing a CI system for Django’s core development. Starting in this part I’ll be looking at the actual code I wrote to solve these problems. It’s running now at buildbot.djangoproject.com, and the code’s on GitHub. Please feel free to take a look (and fork/reuse if you want) but keep in mind it’s very much a work-in-progress. -
Offline HTML5 canvas app in Python with django-mediagenerator, Part 1: pyjs
This is the first part in a short series (see also part 2 and part 3) on building a simple client-side offline-capable HTML5 canvas drawing app in Python via Pyjamas/pyjs, using django-mediagenerator. Canvas drawing apps are the "Hello world" of the web apps world, so why not make it more interesting and throw in a few neat buzz word technologies? ;) In this part we'll take a look at running Python in the browser via pyjs, the Pyjamas framework's Python-to-JavaScript compiler. Note that we won't describe the Pyjamas framework, here. Instead, we only use the compiler itself and jQuery. You can build your own client-side Python framework on top of this. We don't use Pyjamas because we believe that a framework optimized for Python can be a lot simpler and more expressive than a simple 1:1 translation from Java/GWT to Python (which the Pyjamas framework is, mostly). Also, in case you wondered, it's important to not mix your backend (server-side) and frontend (client-side) code. Keep your backend and frontend code cleanly separated. Otherwise your app will become an unmaintainable, cryptic mess. We'll focus on the client-side in this series. For the backend you might want to use a simple REST … -
CI is hard!
Buildbot, the venerable Python continuous integration server, has the reputation of being complex and difficult to set up. After spending a couple of weeks deep in Buildbot land, I've come to the conclusion that this reputation, while true, is only partially deserved. That is, Buildbot is complex, but only if you're trying to view it as an out-of-the-box CI solution. Buildbot suddenly starts to make much more sense if you view it as a framework for creating your own CI solution, not a CI server in its own right. You won't find this revelation anywhere in the Buildbot docs, nor in any of the books or online material that cover the tool. There are some good tutorials out there showing how to set up a simple Buildbot instance -- Jeff Younker's Foundations of Agile Python Development has the best one I've run across -- but none of these examples make much sense when setting up a complex buildfarm with complicated requirements. So I'm here to fill that gap. In this series of posts -- I think I'm looking at five parts -- I'll explain this "Buildbot is a CI framework" view, delve into Buildbot's architecture, and then walk through the … -
OEmbed your site's Static Media
You may not know it, but djangoembed can be used to OEmbed your own site's static media. We use it at work to allow users to embed photos they upload through the site. -
CI is hard!
Buildbot, the venerable Python continuous integration server, has the reputation of being complex and difficult to set up. After spending a couple of weeks deep in Buildbot land, I’ve come to the conclusion that this reputation, while true, is only partially deserved. That is, Buildbot is complex, but only if you’re trying to view it as an out-of-the-box CI solution. Buildbot suddenly starts to make much more sense if you view it as a framework for creating your own CI solution, not a CI server in its own right. -
Office hours transcript posted
We held our first open "office hours" this past Friday, November 5th. We've taken the IRC transcript, organized and cleaned it up a bit, and posted it online for those who couldn't make it. We had about fifty people show in IRC where they asked questions on a wide variety of topics including deployment, NoSQL, cloud computing, and contributing to Django. It was a blast! A few of my favorite questions: "How can we 1.5 thousand Django sites" (on a single server)? "What is the stack that you all are recommending/using these days?" "How do you handle patching existing [open source] projects?" We had a great time with this, and will certainly be doing it again in the future. If you'd like to hear about future office hours, follow us on Twitter. Also, if you'd like a chance to ask questions like this in person, you might want to attend one of my Django classes in LA and Boston next month. -
Office hours
Frank and I held our first Revsys "office hours" this past Friday, November 5th. We've taken the IRC transcript, organized and cleaned it up a bit, and posted it online for those who couldn't make it. We had about fifty people show in IRC where they asked questions on a wide variety of topics including deployment, NoSQL, cloud computing, and contributing to Django. It was a blast! A few of my favorite questions: "How can we 1.5 thousand Django sites" (on a single server)? "What is the stack that you all are recommending/using these days?" "How do you handle patching existing [open source] projects?" We had a great time with this, and will certainly be doing it again in the future. If you'd like to hear about future office hours, follow @revsys on Twitter. Also, a shameless plug: if you'd like a chance to ask questions like this in person, you might want to attend one of my Django classes in LA and Boston next month. -
Comparison between Django, Rails and Grails.
-
Office hours
Frank and I held our first Revsys “office hours” this past Friday, November 5th. We’ve taken the IRC transcript, organized and cleaned it up a bit, and posted it online for those who couldn’t make it. We had about fifty people show in IRC where they asked questions on a wide variety of topics including deployment, NoSQL, cloud computing, and contributing to Django. It was a blast! A few of my favorite questions: -
Release classifiers in distutils/pypi
Thanks to Doug Napoleone I'm now aware there is already a convention followed for the python and framework versions, but it appears that not enough people are aware of it. This post is pretty much a reposting of the second comment of the post immediately preceding this one and Doug gets full credit for this post. I'm just repeating his message:The release classifiers in this post should be included in the standard distutils documentation. For the moment, you can see the full list of classifiers here:http://pypi.python.org/pypi?%3Aaction=list_classifiersFor the python language version the classifier is:Programming Language :: Python :: x.y.zWith each version on it's own line. That way you can browse the repository by python version (see the bottom of the page):http://pypi.python.org/pypi?:action=browse&c=214There is also support for frameworks which you can see on that page as well. There it is done with:Framework :: Django :: x.y.zThere is Zope, Plone, and a number of other frameworks already there.In the example you gave the proper, and supported way of writing the metadata is:Programming Language :: PythonProgramming Language :: Python :: 2.4Programming Language :: Python :: 2.5Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Framework :: DjangoFramework :: Django :: 0.96Framework :: Django :: … -
A request for new pypi classifiers
This request is to help enhance Django Packages, PyPM Index, and other projects. This would also help the Python community at large.Would it be possible that a standard be established for listing in PyPI classifiers which versions of a package is known to operate? Using James Bennett's django-registration at http://pypi.python.org/pypi/django-registration as an example (see my bolded, last two lines to understand what I'm trying to demonstrate):Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonTopic :: UtilitiesPython Versions :: 2.4, 2.5, 2.6, 2.7Django Versions :: 0.96, 1.0, 1.1, 1.2.1, 1.3The metadata system I'm writing about in this blog post is specified on the distutils documentation page.I picked a Django package but this could be for Zope, Pyramid, PyQT, or anything.If we had something like this in place then people could quickly identify on PyPI and other resources if a tool can be of use to them or if it needs to be updated to the latest code base. If this already exists, then can someone point me at the existing specification so I can promote it?Edit: Noah Kantrowitz suggested I take a look at … -
Little tip on how to reset ipdb
When I code Django, I leave a server running in a Linux shell. python manage.py runserver Sometimes when I use ipdb to debug some code, the screen input disappears and I can not see what I’m typing. Rather than ^C the server, I prefer to fix the problem. You just need to reset the screen: import os os.system('reset') -
Two new Django classes: deployment and the ecosystem
Want to buff up your Django chops? Learn some cool new tricks for the new year? You should come to one of my new Django classes next month! I'll be teaching two new one-day classes, both of which evolved from common questions we get here at Revsys. Each class is going to be offered twice, once in LA and once in Boston. For the impatient here are some links and quick info: Django Deployment Workshop - Los Angeles - December 6, 2010. Django Deployment Workshop - Boston - December 10, 2010. The Best of the Django Ecosystem - Los Angeles - December 7, 2010. The Best of the Django Ecosystem - Boston - December 9, 2010. For more details on each class, read on... The first class attempts to answer this question: "So... I've written this cool Django site, and it works on my laptop... but now what?" We've increasingly been spending our time helping clients learn how to successfully deploy Django, so I've taken the things we've learned and turned them into the Django Deployment Workshop. You're invited to bring your own Django sites and I'll show you how to put them into production. At the end of the … -
Django classes: deployment, ecosystem
(Cross-posted from the Revsys blog; I think folks here might be interested, too.)Next month I’ll be teaching two new one-day classes, both of which evolved from common questions we get at Revsys. Each class is going to be offered twice, once in LA and once in Boston. For the impatient here are some links and quick info: Django Deployment Workshop - Los Angeles - December 6, 2010. Django Deployment Workshop - Boston - December 10, 2010. -
How to roast a chicken
Look, people, cooking isn’t hard. Some recipes are hard, but really most of the best, classic dishes are as easy as pie [1]. Take a nice roast chicken. It’s showy – whole birds look fantastic – and just about the easiest thing in the world. With a tiny bit of attention to detail you can crank out a delicious meal that’ll knock people’s socks off. If you want to really sound impressive, tell people that the recipe is from Thomas Keller – chef-owner of The French Laundry, one of the best restaurants in the country [2].