DEV Community

KetanIP
KetanIP

Posted on • Edited on • Originally published at ketaniralepatil.com

πŸ‘¨β€πŸ’» Getting Started With Django ( Part 1 ) - Django For Beginners

This post was originally posted on πŸ‘¨β€πŸ’» Getting Started With Django ( Part 1 ) - Django For Beginners.

Django

This is first part of the series 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 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 Series.

Top comments (3)

 
yobretyo profile image
Bret

Thank you! What’s your take on β€œsnippets”? so far there’s certain things with python/Django, that o mess up because it’s kinda like a Navbar, you mainly route things as a main step you do, but then it’s just styling. So, with routes, models, the different varieties, Django kinda slows me down. Or, with Numpy and Pandas, there’s so many choices with what you can do, that some things will just slip your mind. So are snippets good? I have a stock list I wrote down interesting stocks for months. I uploaded it to a CSV and now, I want to go through it and see which ticker symbols would I returned the most from when they were logged. Is that a good project?

 
yobretyo profile image
Bret

Thank you! But tho, what can you do that’s β€œneeded” with python, that you don’t need college? It seems like Datascience and Machine learning are the key areas, but you need college? I would like to learn python/focus on a area I can get started with.

Collapse
 
yobretyo profile image
Bret

Thank you! I actually really like Django, it seems more strait forward vs react at times. But, is python/Django mainly in need for Datascience/ machine learning?