<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ramkumar</title>
    <description>The latest articles on DEV Community by Ramkumar (@ramkumarm15).</description>
    <link>https://dev.to/ramkumarm15</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F692591%2Fb8550105-a9c8-4543-83e0-c82f822b8220.jpg</url>
      <title>DEV Community: Ramkumar</title>
      <link>https://dev.to/ramkumarm15</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ramkumarm15"/>
    <language>en</language>
    <item>
      <title>Build Web Application using React and Django</title>
      <dc:creator>Ramkumar</dc:creator>
      <pubDate>Wed, 15 Sep 2021 07:11:37 +0000</pubDate>
      <link>https://dev.to/ramkumarm15/build-web-application-using-react-and-django-4k40</link>
      <guid>https://dev.to/ramkumarm15/build-web-application-using-react-and-django-4k40</guid>
      <description>&lt;p&gt;In this article, you will build a Todo application using React and Django.&lt;br&gt;
&lt;strong&gt;React&lt;/strong&gt; is a javascript framework for developing SPA's(single-page applications). React has detailed documentation and a bigger ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Django&lt;/strong&gt; is a Python web framework to build the backend of the web application. Django simplifies the common web practices of web development. Django is a more robust, scalable framework and has huge community support.&lt;/p&gt;

&lt;p&gt;In this project, React is used as a Front-end framework or client-side framework to create user-interface and send API requests to the backend. Django used to build API endpoints to receive data from front-end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;br&gt;
Basic knowledge in both React and Django is required. You check out these get started with React and Python.&lt;br&gt;
React documentation : You check react official docs to get started, they provided with easy understanding of concepts.&lt;br&gt;
Django Tutorial&lt;/p&gt;

&lt;p&gt;Let's start or project, Before start check whether python and Nodejs is installed.&lt;br&gt;
To download python and Nodejs from here&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Node JS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 1 : Setting up Backend&lt;/strong&gt;&lt;br&gt;
Open a terminal and enter the following command to create a new project directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir todo-django-react
cd todo-django-react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create an virtual environment and activate it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python -m venv env
env\Scripts\activate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, install django&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install django
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create new project name backend and navigate to folder&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;django-admin startproject backend
cd backend
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start a new application called todo&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py startapp todo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run migrations&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open the root folder in any code editor (VScode, Atom etc…) and here we registering our application so Django will recognize it.&lt;br&gt;
Navigate to &lt;code&gt;backend/settings.py&lt;/code&gt; and todo in &lt;code&gt;INSTALLED_APPS&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'todo',
] 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create our Todo Model:&lt;br&gt;
Open &lt;code&gt;todo/model.py&lt;/code&gt; and type the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class TodoModel(models.Model):
    title = models.CharField(max_length=255)
    description = models.TextField()
    completed = models.BooleanField(default=False)

    def __str__(self):
        return self.title
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above code snippets describe three field of our todo model,&lt;br&gt;
&lt;code&gt;Title&lt;/code&gt; : Name of todo&lt;br&gt;
&lt;code&gt;description&lt;/code&gt; : more details about the individual todo&lt;br&gt;
&lt;code&gt;completed&lt;/code&gt; : it shows the status of todo whether it completed or not&lt;/p&gt;

&lt;p&gt;Now run migration to add model to the database&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py makemigrations todo
python manage.py migrate todo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Django provides us a default admin interface to test CRUD on our model. Lets add our model to admin page&lt;br&gt;
Open &lt;code&gt;todo/admin.py&lt;/code&gt; and enter following code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from .models import TodoModel
admin.site.register(TodoModel)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, save changes.&lt;br&gt;
You will need to create a superuser to access the admin page. Run the following cmd in terminal to create&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py createsuperuser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Terminal will prompt you to enter the username, email, password for creating superuser. Be sure to enter details you remember.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start up the server&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py runserver
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Navigate to &lt;code&gt;http://localhost:8000/admin/&lt;/code&gt; in your web browser and enter the username and password to login to admin page.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjjqziwj22dukpe3p58wh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjjqziwj22dukpe3p58wh.png" alt="Django default admin page"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffl7qnsxhyg2njszl5l1i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffl7qnsxhyg2njszl5l1i.png" alt="CRUD operations on TodoModel"&gt;&lt;/a&gt;&lt;br&gt;
Here you can do create, read, update and delete on TodoModel using admin interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2 : Develop our API&lt;/strong&gt;&lt;br&gt;
In this section, you develop an API endpoint for our model.&lt;br&gt;
Install &lt;code&gt;djangorestframework&lt;/code&gt; and &lt;code&gt;django-cors-headers&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install djangorestframework django-cors-headers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After installing, add &lt;code&gt;rest_framework&lt;/code&gt; and &lt;code&gt;corsheaders&lt;/code&gt; in &lt;code&gt;settings.py&lt;/code&gt; and update &lt;code&gt;MIDDLEWARE&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'todo',
    'rest_framework',
    'corsheaders'
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware'
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add this code in settings.py&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CORS_ALLOWED_ORIGINS = [
    "http://127.0.0.1:3000",
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A django-cors-headers is a Python library which prevent a common error caused by CORS rule. In CORS_ALLOWED_ORGINS you list the &lt;a href="http://127.0.0.1:3000" rel="noopener noreferrer"&gt;http://127.0.0.1:3000&lt;/a&gt; because we need our frontend to access Django API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start creating serializers&lt;/strong&gt;&lt;br&gt;
Serializers converts the Django model instance to JSON so that frontend can work with data.&lt;br&gt;
Create &lt;code&gt;todo/serializers.py&lt;/code&gt; and add the following code to the file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from rest_framework import serializers

from .models import TodoModel

class TodoModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = TodoModel
        field = ('id', 'title', 'description', 'completed')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we need to create view, navigate to &lt;code&gt;todo/views.py&lt;/code&gt; and update the following code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from rest_framework import viewsets

from .models import TodoModel
from .serializers import TodoModelSerializer

class TodoView(viewsets.ModelViewSet):
    serializer_class = TodoModelSerializer
    queryset = TodoModel.objects.all()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;viewsets&lt;/code&gt; base class provides a implementation of CRUD by default.&lt;br&gt;
Open &lt;code&gt;backend/urls.py&lt;/code&gt; to update the following snippets&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from django.contrib import admin
from django.urls import path, include
from rest_framework import routers

from todo.views import TodoView

router = routers.DefaultRouter()
router.register('todos', TodoView, 'todo')

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include(router.urls))
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The router enables you to perform CRUD operations&lt;br&gt;
&lt;code&gt;http://127.0.0.1:8000/api/todos/&lt;/code&gt; : returns lists of todo. &lt;code&gt;CREATE&lt;/code&gt; and &lt;code&gt;READ&lt;/code&gt; operations can be performed&lt;br&gt;
&lt;code&gt;http://127.0.0.1:8000/api/todos/:id/&lt;/code&gt; : returns a single todo by using id parameter. &lt;code&gt;UPDATE&lt;/code&gt; and &lt;code&gt;DELETE&lt;/code&gt; operations can be performed.&lt;/p&gt;

&lt;p&gt;Restart the server and navigate to &lt;code&gt;http://127.0.0.1:8000/api/todos/&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbjgnwwnumqbl0ft285c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbjgnwwnumqbl0ft285c.png" alt="List of todo will be displayed"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to &lt;code&gt;http://127.0.0.1:8000/api/todos/:id/&lt;/code&gt;&lt;br&gt;
Add &lt;code&gt;1&lt;/code&gt; to &lt;code&gt;:id&lt;/code&gt; in url to get the todo with id &lt;code&gt;1&lt;/code&gt; .&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff0hp5e4hf5ncdw7z955i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff0hp5e4hf5ncdw7z955i.png" alt="Single todo item"&gt;&lt;/a&gt;&lt;br&gt;
will continue frontend part on part 2.&lt;/p&gt;

</description>
      <category>django</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Free Resources to learn Django !! </title>
      <dc:creator>Ramkumar</dc:creator>
      <pubDate>Fri, 27 Aug 2021 16:22:34 +0000</pubDate>
      <link>https://dev.to/ramkumarm15/free-resources-to-learn-django-a04</link>
      <guid>https://dev.to/ramkumarm15/free-resources-to-learn-django-a04</guid>
      <description>&lt;p&gt;Choosing a web framework for a project is a big deal!!. There are plenty of frameworks on the market right now. Django provides versatile features and options for the developers. Their main goals are faster development, scalability, more security.&lt;/p&gt;

&lt;p&gt;Django provides fully loaded features like Built-in Admin Interface, ORM, Python unit testing framework, Middleware Support, Template engine, Form handling and validation, authentication system, Session and user management, role-based permissions.&lt;/p&gt;

&lt;p&gt;So, choosing the Django framework is a good choice and has more opportunities in the future.&lt;/p&gt;

&lt;p&gt;Here is the list of free resources&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.djangoproject.com/start/"&gt;Django Documentation&lt;/a&gt; - Well-detailed documentation ever. My first recommendation is Django official docs, they explained every concept in detail. Check it out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Free Websites to learn Django&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tutorial.djangogirls.org/en/"&gt;Django Girls&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://realpython.com/tutorials/django/"&gt;Real Python&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://data-flair.training/blogs/django-tutorial/"&gt;Data Flair Training&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basics of Django&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/SIyxjRJ8VNY"&gt;Telusko&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=RUMohoZzNLc&amp;amp;list=PLEsfXFp6DpzT-1RVQVsL7C2XGMeQzfqAL"&gt;Coding Entrepreneurs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=xv_bwpA_aEA&amp;amp;list=PL-51WBLyFTg2vW-_6XBoUpE7vpmoR3ztO"&gt;Dennis Ivy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=MxF8YOJI0nU&amp;amp;list=PLK8cqdr55Tsv-D2HMdrnD32oOVBNvmxjr"&gt;Programming with Harry&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To learn Django, Django REST Framework with React JS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCRM1gWNTDx0SHIqUJygD-kQ"&gt;JustDjango&lt;/a&gt; - If you want to learn REST API with Django and Django REST Framework with React JS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UC1mxuk7tuQT2D0qTMgKji3w"&gt;Very Academy&lt;/a&gt; - This channel also provides content on Django, Django REST Framework, and React JS by project-based learning.&lt;/p&gt;

&lt;p&gt;Thanks for reading this article so far. If you find these free Django courses useful then please share them with your friends and colleagues. If you have any questions or feedback then please drop a note.&lt;/p&gt;

</description>
      <category>django</category>
      <category>python</category>
      <category>react</category>
    </item>
    <item>
      <title>4 Useful Django Packages</title>
      <dc:creator>Ramkumar</dc:creator>
      <pubDate>Wed, 25 Aug 2021 09:00:45 +0000</pubDate>
      <link>https://dev.to/ramkumarm15/4-useful-django-packages-29gk</link>
      <guid>https://dev.to/ramkumarm15/4-useful-django-packages-29gk</guid>
      <description>&lt;p&gt;&lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt; is the most popular Python framework, which you can build a robust web application. Django gives more features out of the box other than there are more 3rd party packages which are helpful to make Django application more efficient. So, here is the list of packages I came across and used.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.django-rest-framework.org/"&gt;Django REST Framework&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are looking for developing a REST API using Django, then definitely &lt;strong&gt;DRF&lt;/strong&gt; is the best and most powerful toolkit for building Web API.&lt;br&gt;
A small amount of code is enough to transform the existing Django project into a &lt;strong&gt;REST API&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://djoser.readthedocs.io/en/latest/index.html"&gt;Djoser&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Recently, I work on REST API and thought of re-creating &lt;strong&gt;USER MODEL&lt;/strong&gt; function  like login, logout, reset-password and other stuffs for every project  is tedious process.  So, I searched for some alternatives and then came across with Djoser package. The Djoser package is an REST implementation of Django authentication system. It provides set of Django REST Framework that handles a basic actions like &lt;strong&gt;login, logout, reset-password, account activation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Djoser allows you to create an user account with CUSTOM_USER_MODEL and social accounts like Google, Facebook. Authentication process is done by using token based authentication and JSON Web Token Authentication.  &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://pypi.org/project/python-decouple/"&gt;python-decouple&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confidential information should be placed in Environment variables, not in source code. Python Decouple helps you to organize your settings confidential information. It helps us to access that info in environment variables.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/klis87/django-cloudinary-storage"&gt;django-cloudinary-storage&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Django Cloudinary storage provides Cloudinary storage for media and static files. A quick and small amount of line of configuration you can start using Cloudinary, so you can serve your static and media files of Django by Cloudinary&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>django</category>
      <category>webdev</category>
      <category>python</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
