Tutorial Django: Fitur-fitur, Architekstur & Sejarah
โก Ringkasan Cerdas
Django is a free, open-source Python web framework built on the model-view-template pattern, enabling rapid development of secure, scalable, database-driven websites through reusable components, an automatic admin interface, and batteries-included design.

Django powers some of the largest sites on the web while keeping everyday development fast and organized. Before exploring its features, architecture, and history, the sections below start with the basics of web frameworks and what makes Django distinct.
Ringkasan Tutorial Django
This Django tutorial covers all the basic topics from scratch. In this tutorial, you will learn concepts such as what Django is, its history, its features, the characteristics of the Django framework, the components of Django, its advantages and disadvantages, and much more.
Before learning Django, let us understand:
Apa itu Kerangka Web?
A web framework is a code library that helps you build a flexible, scalable, and maintainable dynamic website, web app, or web service. Different web frameworks include Zend for PHP, Ruby on Rails for Ruby, and others.
Apakah Django itu?
Django adalah kerangka pengembangan web untuk Python which offers standard methods for fast and effective website development. The primary goal of this high-level web framework is to create complex database-driven websites. It helps you build and maintain quality web applications. It enables you to make the development process smooth and time-saving for rapid development.
Mengapa Django? Keuntungan Utama Django
Berikut adalah kelebihan utama Django:
- Django is easy to set up and run. It offers a variety of options to get started.
- It provides a ready-to-use user interface for administrative activities.
- It enables multilingual websites by using its built-in internationalization system.
- It helps you to meet massive traffic demands quickly.
- Django is used to build all types of content management systems, social networks, as well as scientific computing platforms.
- Django helps you to provide end-to-end application testing.
- It helps you to document your API with an HTML output.
- The REST framework has rich support for several authentication protocols.
- It offers permissions and throttling policies.
- Ini banyak digunakan untuk membatasi laju permintaan API dari satu pengguna.
Sejarah Django
| Tahun | Batu |
|---|---|
| 2003 | The project was started by Adrian Holovaty and Simon Willison as an internal project at the Lawrence Journal-World newspaper. |
| Juli 2005 | It was released in July 2005 as โDjango,โ named after the jazz guitarist Django Reinhardt. |
| Juni 2008 | It was declared that a Django Software Foundation (DSF) akan mempertahankan Django. |
| 29 Juli 2009 | Django 1.1 was released with features like aggregates and transaction-based tests. |
| 17 Mei 2010 | Django 1.2 was released. The update offered features like multiple databases and an email backend, and improvements were made for sessions and cookies. |
| Maret 23 2011 | The 1.3 version introduced features like class-based views and static files. |
| Maret 23 2012 | The 1.4 version launched with new features like time zones and in-browser testing. |
| 26 Februari 2013 | The 1.5 version came with Python 3 support and configurable user model features. |
| 6 November 2013 | The 1.6 version came with database transaction management and connection pooling features. |
| 2 September 2014 | The 1.7 version had new features like application loading, migrations, and configuration. |
| 1 April 2015 | Native support was provided for multiple template engines. |
| 1 Dec 2015 | In the 1.9 version, an automatic password validation feature was introduced. |
| 1 Agustus 2016 | In the 1.10 version, full-text search for PostgreSQL diluncurkan. |
| 4 April 2017 | The 1.11 version became the last version to support Python 2.7. |
| 2 Dec 2017 | Version 2.0 became the first Python 3-only release version. |
| 1 Agustus 2018 | Version 2.1 came with model โviewโ permission support features. |
| 2021 | Removed support for Django 3.0 and added Django 3.2 support. |
Now in this Django for beginners tutorial, let us learn about the features of Django.
Fitur Django
Di bawah ini adalah fitur Django:
- Membantu Anda mendefinisikan pola untuk URLs in your application.
- Sederhana namun kuat URL sistem.
- Built-in authentication system.
- An object-oriented programming language database which offers best-in-class data storage and retrieval.
- The automatic admin interface feature allows the functionality of adding, editing, and deleting items. You can customize the admin panel as per your need.
- The cache framework comes with multiple cache mechanisms.
Now in this Django framework tutorial, we will learn about the characteristics of Django.
Karakteristik Django
Berikut adalah karakteristik utama Django:
- Hubungan renggang โ Django helps you to make each element of its stack independent of the others.
- Less kode โ Ensures effective development.
- Not repeated โ Everything should be developed in precisely one place instead of repeating it again.
- Perkembangan cepat โ Django offers fast and reliable application development.
- Consistent design โ Django maintains a clean design and makes it easy to follow the best web development practices.
Berikutnya dalam tutorial pemula Django ini, kita akan belajar tentang arsitektur Django.
Django Architekstur: MVC dan MVT
Berikut ini adalah arsitektur rinci Django:
Django Architekstur
Pola MVC
When talking about applications which provide a UI (web or desktop), we usually talk about MVC architecture. The MVC pattern is based on Model, View, and Controller.
The Pilih Model defines the data structure and takes care of querying the database.
The Liha mendefinisikan data apa yang harus disajikan dan mengembalikan respons HTTP.
The pengawas is the part of the application that handles the user interaction.
Pola Django MVC-MVT
The Model-View-Template (MVT) is a different concept compared to MVC. The main difference between these two architectural patterns is that Django itself manages the Controller part (the software code that controls the interactions between the Model and View). The template is an HTML file which is mixed with a Django Template Language file, also called DTL.
The diagram below shows how all the components of the MVT pattern interact with each other to serve a specific user request.
MVT Architekstur
As seen in the diagram above, a user requests a resource from Django. Django acts as a controller and checks for the available resource in the URL.
Jika URL maps, a view is called that interacts with the model and template. Django then responds to the user and sends a template as a response.
Now in this Django tutorials for beginners series, we will learn about the components of Django.
Komponen Django
Bentuk
Django mempunyai perpustakaan formulir yang kuat yang menangani rendering formulir sebagai HTML. Perpustakaan membantu memvalidasi data yang dikirimkan dan mengonversinya Python jenis.
Otentikasi
It handles user accounts, groups, cookie-based user sessions, and more.
admin
Ia membaca metadata dalam model Anda untuk menyediakan antarmuka tangguh yang dapat digunakan untuk mengelola konten di situs Anda.
Internasionalisasi
Django provides support for translating text into various languages, and locale-specific formatting of dates, times, numbers, and time zones.
Security
Django provides safeguards against the following attacks:
- Pemalsuan Permintaan Lintas Situs (CSRF)
- Scripting lintas situs
- Injeksi SQL
- Clickjacking
- Eksekusi kode jarak jauh
Perusahaan Terkenal Menggunakan Django
Here are companies that are using Django:
- Bitbucket
- Disqus
- NASA
- PBS (Layanan Penyiaran Publik)
- Mozilla
- The Washington Post
- The New York Times
- Los Angeles Times
- Penjaga
- Nasional geografis
- discovery channel
Kekurangan menggunakan Django
Here are some disadvantages of using Django:
- A single process cannot handle multiple requests simultaneously.
- Django is a very monolithic tool.
- Components get deployed together, which can create confusion.
- Knowledge of the full system is needed to work on Django.
- It makes web application components tightly coupled.
- Anda perlu melakukan pemrograman yang panjang untuk tugas-tugas kecil.


