FAQ: Umum¶
Mengapa proyek ini ada?¶
Django tumbuh dari kebutuhan yang sangat praktis: World Online, operasi Jaringan surat kabar, bertanggung jawab untuk membangun aplikasi Jaringan instensif pada tenggat waktu jurnalisme. Dalam ruang berita serba cepat, World Online sering mempunyai hanya masalah jam untuk mengambil aplikasi Jaringan rumit dari konsep ke peluncuran umum.
Pada saat bersamaan, pengembang Jaringan World Online secara konsisten telah sempurna ketika dia datang untuk mengikuti latihan terbaik dari pengembangan Jaringan.
Di musim gugur 2003, pengembang World Online (Adrian Holovaty dan Simon Willison) menyingkirkan PHP dan mulai menggunakan Python untuk mengembangkan situs jaringannya. Saat mereka dibangun intensif, situs kaya interaktif seperti Lawrence.com, mereka mulai mengeluarkan kerangka pengembangan Jaringan umum yang membiarkan mereka membangun jaringan Jaringan lebih dan lebih cepat. Mereka mengulik kerangka ini secara tetap, menambahkan perbaikan 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 "tidak ada-berbagi", yang berarti anda dapat menambahkan perangkat keras pada tingkatan apapun -- peladen basisdata, peladen tombolok 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, departemen jaringan koran di Lawrence, Kansas, USA. Django sekarang berjalan oleh sebuah internasional 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 hari, tentu saja, dia datang untuk mendapatkan barang selesai. Dan, tanpa memperhatikan bagaimana hal-hal dinamai, Django mendapatkan barang selesai di cara yang paling masuk akal bagi kami.
<Kerangka X> melakukan <fitur Y> -- kenapa Django tidak?¶
Kami menyadari bahwa ada kerangka kerja Jaringan mengagumkan lainnya diluar sana, dan kami tidak menolak untuk meminjam ide dimana yang sesuai. Bagaimanapun, Django telah dikembangkan sangat tepat karena kami tidak senang dengan status quo, jadi tolong sadari bahwa "because <Framework X> does it" tidak akan menjadi alasan cukup untuk menambahkan fitur pada Django.
Kenapa anda menulis semua Django dari goresan, daripada menggunakan pustaka lain Django?¶
Ketika Django aslinya ditulis, Adrian dan Simon menghabiskan sedikit waktu menjelajahi beragam kerangka Jaringan Phyton 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 semacam "turnkey product" di dan dia sendiri. Dia adalah sebuah kerangka kerja Jaringan; dia 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.
Tentu saja, situs admin otomatis Django hebat dan menghemat waktu -- tetapi situs admin adalah satu modul dari kerangka kerja Django. Lebih lanjut, meskipun Django mempunyai kemudahan khusus untuk membangun aplikasi "CMS-y", yang tidak berarti dia tidak hanya sewajarnya untuk membangun aplikasi "non-CMS-y" (apapun artinya itu!).
Bagaimana dapat Saya mengunduh dokumentasi Django untuk membacanya tanpa jaringan?¶
Dokumen Django tersedia di direktori docs
dari setiap terbitan tarball Django. Dokumen ini berada di bentuk (reStructuredText), dan setiap berkas teks berhubungan ke halaman Jaringan di situs Django resmi.
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.
Sebagai contoh, gaya APA, akan mendikte sesuatu seperti:
Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://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://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)