DEV Community

loading...

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

ketanip profile image KetanIP Originally published at ketaniralepatil.com ・Updated on ・3 min read

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.

Discussion (6)

pic
Editor guide
Collapse
wick3drose profile image
wick3dr0se

@yobretyo You need this
Saw Python/Django and thought of you. I think it would be a great direction for you

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?

Collapse
wick3drose profile image
wick3dr0se

Python is an all purpose programming language. You can just about do anything with it. Learning React will limit you to just frontend website and design. With Python you'll open up backend, servers, scripting and more. It's a better path all around in my opinion. Python is also considered the hacking language. The syntax isn't hard to learn so it'll also be a gateway for you to easily learn more languages. You should really think about it. It really depends on what direction you want to go. If you limit yourself to frontend; you'll be doing a lot of styling, which I believe you said you didn't like! Go with what you want and chase your dream career in your path. I promise you, if you work hard and show dedication, you will get a job in programming/development

Thread Thread
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.

Thread Thread
wick3drose profile image
wick3dr0se

You definitely don't need college. Employers may consider people with college more for certain positions but it's more about your skillset. If you can show a proven skill then you will attract many employers. If you can contribute to projects in open source communities, create your own projects, learn and use git, make a website for you or your business and showcase your talent in a portfolio; You will have people chasing you for work

Thread Thread
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?