How to read RSS online ? Make your own site with Python and Django
What is the worst news we heard lately ? Yes, Google is closing Google Reader, which is a major disaster in our lives. How can we read our RSS feeds by now (actually, by the 1st of July) ? Watching the numbers of flowers on Google Reader’s grave, this was still a popular service.
But hey, you are techies, and RSS feeds are simple data easy to parse, so, why don’t you write your own reader page instead of wasting time looking for another service provider ? Of, course, you don’t want to spend too much time on this. Ok, lets do it the easy way, do you know Python and Django ? If not, lets learn how to use them.
First, Django is a web framework based on the DRY principle. It will provide all the tools you need to easily build your web interface and an object-relational mapper for your database. This post will describe how to build your reader, hosting your final result will be up to you.
The main goal of this little tutorial will be to display a webpage which will help you keep track of your RSS feeds subscription. We’ll go toward this goal step by step with small posts so each post will focus on a specific subject.
With this first post, lets just see what you’ll need:
- the Python interpreter. If you are running a Linux or a Mac, Python is already available. If you are running MS Windows or your installation is out of date, get it from the download page. Check the instructions there for your specific platform.
- Django, of course. All the instructions are available on the project’s download page. Using pip is the recommended way to install Django. On OS X pip is not part of the system, so you can follow the short tutorial I wrote.
- An IDE. Even if you can program in Python using any text-editing software, you’ll be more productive with an IDE. Among the free tools, you can choose between Aptana Studio or Eclipse with the PyDev plug-in. But in my mind, the best is PyCharm from JetBrains even if the real Django integration comes with the Professional Edition.
- A database backend. Django needs a database to work properly, and so do we. We will need to store locally the link to our RSS feeds and their content. Django supports several databases backends among which, of course, MySQL and PostgreSQL. Those will be necessary in production. During the development process, we’ll simply use SQLite. You can choose any database you want, its specific configuration will not be covered in this posts.
- A web server. Just as for the database, we’ll need a web server in production. Django is shipped with a light development server which shouldn’t be used for other purpose. In this posts, we’ll just use this development server. Deploying your service will not be covered in this posts, but you can find all the informations on the Django site.
Of course, it is up to you to add other must-have tools like a version control software. Feel free to follow all the good development practices.
Once you have gathered all your tools, you are ready to start the project. Our next step is to create the project.