Dapatkah seseorang menjelaskan kepada saya dimana perbedaan antara Django dan pola Model View Controller?
Secara fungsional, apa yang dapat kita harapkan dari perbedaan itu - yaitu apa yang bekerja secara berbeda membandingkan Django dengan, misalnya, Ruby on Rails?
django
model-view-controller
frameworks
Leonardo
sumber
sumber
Jawaban:
Menurut Buku Django , Django mengikuti pola MVC cukup dekat untuk disebut kerangka MVC.
Django telah dirujuk sebagai kerangka kerja MTV karena pengontrol ditangani oleh kerangka itu sendiri dan sebagian besar kegembiraan terjadi dalam model, templat dan tampilan.
Anda dapat membaca lebih lanjut tentang MTV / MVC di sini:
Pola Pengembangan MTV (atau MVC)
sumber
FAQ Django sendiri merupakan tempat yang layak untuk memulai:
Ingatlah bahwa "Model View Controller" hanyalah sebuah pola, yaitu upaya untuk menggambarkan arsitektur umum. Jadi pertanyaan yang lebih baik mungkin adalah “Seberapa baik Django cocok dengan pola Pengontrol Tampilan Model?”
sumber
Saat Anda membuat kode, tidak memikirkan nama bagian kerangka, tidak ada perbedaan susbtantif antara, misalnya RoR. Tetapi itu tergantung pada penggunaan yang Anda berikan
models
, karena pada Django mereka dengan mudah memuat beberapa logika yang pada kerangka lain akan tetap pada tingkat pengontrol.Di
view
Django cenderung menjadi satu set kueri untuk mengambil data, dan meneruskannya ke templat.sumber
views
di Django adalah sesuatu seperticontroller
di MVC dantemplate
di Django lebih mungkinviews
Di mvt, permintaan ke URL dikirim ke View. Tampilan ini memanggil ke Model, melakukan manipulasi dan menyiapkan data untuk keluaran. Data diteruskan ke Template yang diberikan sebagai respons. idealnya dalam kerangka web, pengontrol disembunyikan dari pandangan.
Di sinilah perbedaannya dari MVC: di mvc, pengguna berinteraksi dengan gui, pengontrol menangani permintaan dan memberi tahu model dan tampilan meminta model untuk menampilkan hasilnya kepada pengguna.
sumber