👨‍💻 Getting Started With Django ( Part 1 ) - Django For Beginners
Tags: django, python, webdev, beginners
Published: 2020-10-20 16:08:38


This post was originally posted on [👨‍💻 Getting Started With Django ( Part 1 ) - Django For Beginners](https://www.ketaniralepatil.com/python/django/getting-started-with-django/).

## Django

This is first part of the series [Django For Beginners](https://bit.ly/django-for-beginners) we are going to see an introduction to Django, we will then see about why to use django, and then its design philosophies then we will see about advantages of django and at last we will which comanies uses django.

### What is Django ?

Django is a high-level web framework written in Python. It encourages clean and rapid development. It takes all the burden of handeling complicated tasks on itself and provides developer with a rich hassel free delevlopment experince .

---

### Why Django ?

Well Django is a complete framework, here are some resons why you should use django,

1. It is **fast**.
2. It is **secure**.
3. Encourages **rapid development**.
4. It is **scalable**.
5. **Complete** Framework.

---

### Design Philosophies

Django follows certain design philosophies, some of them are,

1. **Being Decoupled** :  Django aims and encourages each element of the project independent of each other as it becomes easy to maintain the project and an single element can be exported and used in other project easily.

2. **Quick Development** : Django was made in mind to provide a fast and rich development experice.

3. **Don't Repeat Yourself (DRY)** : Django follows DRY, which literally means not repeating code, one of the ways of doing this is by de-coupling elements in an application and using them in a efficient way.

4. **Clean Design** : Django strictly maintains the project design in such a way that it makes it easy to follow best practices.

---

### Advantages of Django.

There are many advantages of django for the sake of this blog here are some the big once,

1. **Django ORM** : Django ORM is Django's biggest power, well all can agree to it. It suppport most of the popular **SQL** databases. It creates and manages the database without any manual intervensions in a very optimized way. It can also be used with **NO-SQL** database with the help of third-party libraries.

2. **Administration GUI** : Django comes with a powerful admin interface right out of the box. It supports all kind of CRUD operations on the database right from admin panel. It has a beautiful interface. It can even be customized according to once needs.

3. **Build-in Framework Support** : Django supports many frameworks like RSS Feeds, AJAX and many more out of the box.

4. **Powerful Third Party Package Ecosystem** : For django you can find third party package for literally any thing, wanna handle `payments` use `dj-stripe`, wanna use `social auth` use `django-allauth`, want `REST API` use `django-rest-framework` and many more. As you may have seen there are lierally frameworks build on django itself so what do you want more. On [Django Packages.org](https://djangopackages.org) you can find packages for your django porject.

5. **Development Enviorment** : Django comes with a development server right out of the box that does't require any kind of configuration.

6. **Changing Database is Super Easy** : In django changing databases is super easy you can use `sqlite3` for development and change production database to `postgres` within seconds. Before some of you may say *what about data*, then listen if you are doing this in production than data is your duty.

---
### Who Uses Django ?

Now the famous question, `who uses django ?`. Django is used by a variety of people for a variety of purposes. It is used by management systems, social networks, scientific computing platforms. Let me name a few,

1. **Instagram**
2. **Disqus**
3. **Pinterest**
4. **National Geographic**
5. **Spotify**
6. **YouTube**
7. **The Washington Post**
8. **BitBucket**
9. **DropBox**
10. **Quora**

and many more...

---

You can support me by checking out [Django For Beginners](https://www.ketaniralepatil.com/series/django-for-beginners/) Series.