FAQ: Umum

Mengapa proyek ini ada?

Django tumbuh dari kebutuhan yang sangat praktis: World Online, operasional jaringan surat kabar, adalah yang bertanggungjawab untuk membangun aplikasi jaringan intensif pada tenggat waktu jurnalisme. Di ruang berita yang bergerak cepat, World Online seringkali hanya memiliki hitungan jam untuk mengambil aplikasi jaringan yang rumit dari konsep hingga peluncuran publik.

Pada saat bersamaan, pengembang jaringan World Online secara konsisten perfeksionis ketika datang untuk mengikut praktik terbaik dari pengembangan jaringan.

Pada musim gugur 2003, pengembang World Online (Adrian Holovaty dan Simon Willison) menyingkirkan PHP dan mulai menggunakan Python untuk mengembangkan situs jaringan. Saat mereka membangun secara intensif,situs kaya interaktif seperti Lawrence.com, mereka mulai mengambil kerangka kerja pengembangan jaringan yang membuat mereka membangun aplikasi jaringan lebih dan lebih cepat. Mereka merubah kerangka ini terus-menerus, menambahkan peningkatan selama dua tahun.

Di musim panas 2005, World Online memutuskan sumber-terbuka perangkat lunak yang dihasilkan, Django. Django mungkin tidak memungkinkan tanpa seluruh rumah dari proyek sumber-terbuka -- Apache, Python, dan PostgreSQL dan kami senang dapat memberikan sesuatu kembali ke komunitas sumber-terbuka.

Apakah arti "Django", dan bagaimana anda mengucapkannya?

Django dinamai setelah Django Reinhardt, gitaris jazz manouche dari 1930 sampai awal 1950. Sampai hari ini, dia dianggap satu dari gitaris terbaik sepanjang masa.

Dengarkan musik dia. Anda akan menyukainya.

Django diucapkan JANG-oh. Irama dengan FANG-oh. "D" adalah senyap.

Kami juga merekam sebuah klip suara dari pengucapan.

Apakah Django stabil?

Ya, dia cukup stabil. Perusahaan seperti Disqus, Instagram, Pinterest, dan Mozilla telah menggunakan Django selama bertahun-tahun. Situs yang dibangun di Django telah mengalami lonjakan lalu lintas lebih 50 ribu pukulan per detik.

Apakah Django luas?

Ya. Dibandingkan pada wakt pengembangan, perangkat keras adalah murah, dan Django dirancang untuk mengambil keuntungan sebanyak perangkat lunak anda dapat adakan.

Django menggunakan arsitektur "shared-nothing", yang berarti anda dapat menambah perangkat keras pada tingkatan apapun -- peladen basisdata, peladen cache atau peladen jaringan/aplikasi.

Kerangka secara bersih memisahkan komponen seperti lapisan basisdatanya dan lapisan aplikasi. Dan dia dibungkus dengan sederhana namun kuat kerangka tembolok.

Siapa dibelakang ini?

Django aslinya dikembangkan pada World Online, department jaringan dari surat kabar di Lawrence, Kansas, USA. Django sekarang dijalankan oleh team of volunteers.

Bagaimana lisensi Django?

Django didistribusikan di bawah the 3-clause BSD license. Ini adalah lisensi sumber terbuka yang memberikan izin luas untuk memodifikasi dan mendistribusikan kembali Django.

Mengapa Django memasukkan file lisensi Python?

Django menyertakan kode dari pustaka standar Python. Python didistribusikan di bawah lisensi open source yang permisif. A copy of the Python license disertakan dengan Django untuk kepatuhan pada ketentuan Python.

Situs mana menggunakan Django?

DjangoSites.org menampilkan selalu tumbuh daftar dari situs ditenagai-Django.

Django muncul menjadi kerangka MVC, tetapi anda memanggil Controller "view", dan View "template". Bagaimana bisa anda tidak menggunakan nama standar?

Baiklah, nama standar masih diperdebatkan.

Dalam tafsiran kami dari MVC, "view" menggambarkan data yang mendapatkan dihadirkan ke pengguna. Itu tidak perlu bagaimana data kelihatan, tetapi yang mana data dihadirkan. View menggambarkan data mana anda lihat, bukan bagaimana anda melihatnya. Ini adalah perbedaan yang halus.

Jadi, di kasus kami, sebuah "view" adalah fungsi panggilan kembali Python untuk URL khusus, karena fungsi panggilan kembali menggambarkan data mana yang dihadirkan.

Lebih jauh, ini adalah bijaksana untuk memisahkan dari penyajian -- yaitu dimana cetakan masuk. Di Django, sebuah 'view" menggambarkan data mana dihadirkan, tetapi view umumnya menugaskan ke sebuah cetakan, yang menggambarkan bagaimana data dihadirkan.

Dimana "controller" cocok, lalu? Dalam kasus Django, itu mungkin kerangka kerja itu sendiri; mesin-mesin yang mengirim sebuah permintaan ke tampilan yang sesuai, menurut konfigurasi URL Django.

Jika anda sedang lapar untuk singkatan, anda mungkin berkata bahwa Django adalah kerangka kerja "MTV" -- yaitu "model", "template", dan "view." Perincian tersebut jauh lebih masuk akal.

Pada akhir dari hari, dia turun untuk menyelesaikan sesuatu. Dan, tanpa memperhatikan bagaimana hal-hal dinamai, Django menyelesaikan sesuatu dalam cara yang paling logis bagi kami.

<Kerangka X> melakukan <fitur Y> -- kenapa Django tidak?

Kami semua waspada bahwa ada kerangka kerja jaringan yang hebat diluar sana, dan kami tidak menolak untuk meminjam ide jika perlu. Bagaimanapun, Django dikembangkan dengan tepat karena kami tidak senang dengan status quo, jadi waspada "because <Framework X> does it" tidak akan menjadi alasan yang cukup menambahkan fitur yang diberikan ke Django.

Kenapa anda menulis semua Django dari goresan, daripada menggunakan pustaka lain Django?

Ketika Django aslinya ditulis, Adrian dan Simon menghabiskan cukup banyak waktu menjelajahi beragam kerangka kerja Python yang tersedia.

Menurut pendapat kami, tidak satupun dari mereka benar-benar sampai tidak berguna

Kami pilih-pilih. Anda mungkin bahkan memanggil kami perfeksionis. (Dengan tenggat waktu.)

Berkali-kali, kami tersandung terhadap pustaka sumber-terbuka yang melakukan hal-hal kami telah terapkan. Itu sangat menenangkan untuk melihat orang lain mengatasi masalah-masalah yang mirip dalam cara yang mirip, tetapi itu terlambat untuk digabungkan diluar kode: Kami telah menulis, menguji dan menerapkan kerangka kerja kami sendiri dalam beberapa pengaturan produksi -- dan kode milik kami memenuhi kebutuhan kami dengan penuh kegembiraan.

Dalam kebanyakan kasus, bagaimanapun, kami menemukan bahwa kerangka kerja/alat yang ada pasti mempunyai beberapa macam dasar, kesalahan fatal yang membuat kami mudah tersinggung. Tidak ada alat yang cocok dengan filosofi kami 100%

Seperti kami katakan: Kami pemilih.

Kami telah mendokumentasikan filosofi kami di halaman rancangan filosofi.

Apakah Django content-management-system (CMS)?

Bukan, Django bukan sebuah CMS, atau apapun "turnkey product" dalam dan dari dirinya sendiri. Itu adalah kerangka kerja jaringan; itu adalah alat pemrograman yang membuat anda membangun situs jaringan.

Sebagai contoh, tidak masuk akal untuk membandingkan Django pada sesuatu seperti Drupal, karena Django adalah sesuatu anda gunakan untuk membuat hal-hal seperti Drupal.

Ya, Situs admin otomatis Django luar biasa dan menghemat waktu -- tetapi situs admin adalah satu modul dari kerangka kerja Django. Lebih jauh, meskipun Django mempunyai kemudahan khusus untuk membangun aplikasi "CMS-y", itu tidak berarti itu tidak sesuai untuk membangun aplikasi "non-CMS-y" (apapun itu artinya!).

Bagaimana dapat Saya mengunduh dokumentasi Django untuk membacanya tanpa jaringan?

Dokumen Django tersedia dalam direktori docs dari setiap terbitan tarball Django. Dokumen ini berada di bentuk reST (reStructuredText), dan setiap berkas teks berhubungan ke halaman jaringan pada halaman resmi Django.

Karena dokumentasinya adalah stored in revision control, Anda dapat menelusuri perubahan dokumentasi seperti Anda dapat menelusuri perubahan kode.

Secara teknis, dokumen pada situs Django dibangkitkan dari versi pengembangan terakhir dari dokumen reST itu, jadi dokumen pada situs Django mungkin menawarkan informasi lebih daripada dokumen yang datang dengan terbitan Django terakhir.

Bagaimana Saya mengutip Django?

Sangatlah sulit memberikan bentuk kutipan resmi, untuk dua alasan: bentuk kutipan dapat beragam liar diantara pengumuman, dan standar kutipan untuk perangkat lunak masih masalah dari beberapa perdebatan.

For example, APA style, would dictate something like:

Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://www.djangoproject.com/.

Bagaimanapun, panduan sebenarnya adalah apa yang penerbit anda akan terima, jadi dapatkan salinan dari panduan tersebut dan isi jarak sebaik anda bisa.

Jika panduan gaya pemberian petunjuk anda membutuhkan sebuah nama penerbit, gunakan "Django Software Foundation".

Jika anda butuh tempat penerbitan, gunakan "Lawrence, Kansas".

Jika anda butuh alamat jaringan, gunakan https://www.djangoproject.com/.

Jika anda butuh hanya nama, gunakan "Django", tanpa ucapan apapun.

Jika anda butuh tanggal penerbitan, gunakan tahun terbitan dari versi anda sedang acukan (sebagai contoh, 2013 untuk v1.5)

Back to Top