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,
- It is fast.
- It is secure.
- Encourages rapid development.
- It is scalable.
- Complete Framework.
Design Philosophies
Django follows certain design philosophies, some of them are,
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.
Quick Development : Django was made in mind to provide a fast and rich development experice.
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.
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,
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.
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.
Build-in Framework Support : Django supports many frameworks like RSS Feeds, AJAX and many more out of the box.
Powerful Third Party Package Ecosystem : For django you can find third party package for literally any thing, wanna handle
payments
usedj-stripe
, wanna usesocial auth
usedjango-allauth
, wantREST API
usedjango-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.Development Enviorment : Django comes with a development server right out of the box that does't require any kind of configuration.
Changing Database is Super Easy : In django changing databases is super easy you can use
sqlite3
for development and change production database topostgres
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,
- Disqus
- National Geographic
- Spotify
- YouTube
- The Washington Post
- BitBucket
- DropBox
- Quora
and many more...
You can support me by checking out Django For Beginners Series.
Top comments (3)
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?
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.
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?