Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Learn Django for Beginner (Indonesian)

Learn Django for Beginner (Indonesian)

Seminar "Make your own Security" at University of Muhammadiyah Surakarta, Indonesia - 31 March 2016.

Download Materials: https://goo.gl/OHbTiO

Avatar for agus makmun

agus makmun

March 31, 2016

More Decks by agus makmun

Other Decks in Programming

Transcript

  1. Learn for Beginner Oleh: Agus Makmun Email: [email protected] The web

    framework for perfectionists with deadlines.
  2. Django merupakan web framework yang open-source, gratis dan berbasiskan Python.

    Official site: https://www.djangoproject.com/ Django didirikan oleh salah satu team Web development di Lawrence, Kansas, USA, pada musim gugur di tahun 2003 oleh Adrian Holovaty dan Simon Willison. Banyak pengembang menyebut “Django is Powerfull”. Django, juga bisa di bilang sebagai De Facto standar untuk webframework berbasis Python. Oleh karena tidak asing kalau Django dipakai oleh situs-situs besar, contohnya seperti: Instagram, Science Nasa, Mozilla, Pinterest, Open Stack, Disqus, edX, Bitbucket, dll. Bahkan di Indonesia sendiri, salah satu situs terkenal, yaitu “KelasKita.com” yang di bangun oleh mas Ali Kusnadi, juga menggunakan Django sebagai Library. The web framework for perfectionists with deadlines. Apa Itu Django?
  3. → Cepat Django dirancang untuk membantu para pengembang membuat aplikasi

    dari konsep sampai selesai secepat mungkin. → Memiliki dokumentasi yang lengkap Setiap merilis versi terbaru, Django selalu mengeluarkan dokumentasi di versi tersebut. Baik dalam bentuk HTML, PDF, maupun ePub. → Memiliki Tingkat Keamanan yang bagus Setidaknya ada kurang lebih 5 keamanan yang langsung dihandle oleh Django, diantaranya seperti: Clickjacking, Cross-site scripting, Cross Site Request Forgery (CSRF), SQL injection, dan Remote code execution. → Siap tempur dalam skala besar Beberapa situs besar menggunakan kemampuan Django untuk mengurus data yang memiliki skala besar dan membutuhkan proses yang cepat, serta lalu lintas yang padat. → Sangat fleksibel Django sangat fleksibel ketika anda berkerja di lebih dari 1 platform, contoh kasus seperti KelasKita, yang tidak hanya menggunakan Django, melainkan juga memanfaatkan Falcon untuk API dan Bottle untuk service realtime notif. Dan untuk komunikasi antar APPS tersebut dirinya menggunakan Redis. Beberapa Keunggulan Django
  4. → Object Relational Mapper (ORM) Mendefinisikan data model dalam Python

    dan menggunakan API (Application Programming Interface) untuk mengakses data tersebut. → Default Admin Interface Menyediakan admin interface secara otomatis, sehingga anda tidak perlu repot – repot untuk membuatnya. → Elegant URL design Pembuatan URL yang lebih mudah dan fleksibel. (menggunakan regex) → Template system Sistem template Django merupakan salah satu yang bagian yang paling powerful. Biasanya dideklarasikan dengan nama folder “templates”. → Cache system Django dilengkapi dengan cache system yang bagus. Salah satu artikel menarik dari Disqus : Scaling Django to 8 Billion Page Views, membahas mengenai bagaimana memanage cache system di Django dengan skala yang besar. → Internationalization Django telah didesain untuk mempermudah anda dalam membuat web multi bahasa, menggunakan Django translation. The web framework for perfectionists with deadlines. Source: http://www.makeitfossible.web.id/2012/02/21/pengenalan-django-dan-cara-penginstalannya/
  5. Apakah Django dapat berjalan bersama dengan bahasa pemrograman lainnya? Seperti

    PHP contohnya? The web framework for perfectionists with deadlines. Source: http://stackoverflow.com/q/1020390/3445802
  6. → CodeIgniter → Ruby on Rails → Node.js → Zend

    → Symfony → Angular JS → Backbone.js Atau anda dapat menggabungkannya dengan:
  7. → Openshift → Heroku → Pythonanywhere → DIVIO → RCS

    (Lokal) → Others.. Hosting Gratis untuk Django
  8. Contoh Direktori Django di Hosting Home Directory Django Project Django

    App Templates Django Public Directory Static Directory Virtual Environtment Python Dir
  9. Jika anda sering mendengar mengenai MVC (Model View Controller). →

    → Django memiliki pola yang mirip, yaitu MTV (Model Template View). → → → Model: merupakan layer yang digunakan untuk berinteraksi langsung dengan database. → Template: merupakan layer presentasi seperti HTML, XML, maupun yang lainnya. → View: sedangkan view berisi logika untuk menampilkan data dari model ke template. Bagaimana dengan Pola Django?
  10. The web framework for perfectionists with deadlines. Created by: Ryan

    Nevius http://www.ryannevius.com → Client (Mozilla, Chrome) → Web Server (Nginx, Apache, LiteSpeed) → Wsgi (Gunicorn, Passenger, uWSGI) → Middleware (Request and Response I/O) → Urls (Design url for app) → View (Logic programming) → Model (Object Relation Mapper) → Managers (E.g: QuerySet for Model) → Database (PostgreSQL, MysQL, Sqlite) → Template (HTML, XML)
  11. → Python Jika anda bekerja dengan sistem operasi Linux, maka

    python otomatis telah terinstall. → Virtual Environment (virtualenv) Virtual Environment sangat diperlukan, terlebih apabila anda bekerja di lebih dari 1 project. Gunanya agar tidak tercampur dengan project lain, dan tentu tidak sampai merusak sistem apabila terjadi kerusakan. → Django Django, merupakan web framework yang kita butuhkan. Dan pastikan anda bekerja di ruang lingkup environment yang anda buat. Apa saja yang dibutuhkan?
  12. → Understanding Static Files → Debugging on Django → Database

    Migrations → Setup Media Storage → Build Model for your App → Register model to Admin → Implement Templatetags and built-in template → Build Django Form → Understanding Templates on Django → Understanding Urls → Understanding User Authentications → Understanding Database for Django → Understanding generic Views and Search Query → Understanding Paginations → Build Sitemap and RSS/Atom → More... Apa selanjutnya ?
  13. → https://www.djangoproject.com/ → http://awesome-django.com/ → http://belajar-django.github.io/ https://www.djangopackages.com/ → → https://godjango.com/

    → https://djangosnippets.org/ → http://www.tangowithdjango.com/book/ → https://kelaskita.com/hazmi/kelas/membuat-blog-sederhana-dengan-django/ → http://hackedexistence.com/project-django.html → https://djangosnippets.org/ → http://showmedo.com/videotutorials/django → http://stackoverflow.com/tags/django → https://python.web.id/resource/ → http://pyvideo.org/search?models=videos.video&q=django → Django Indonesia (Group Facebook) → https://gitter.im/django-id/chat → Google.. :) The web framework for perfectionists with deadlines. Dimana saya bisa memulai belajar Django?
  14. → Apakah Django sulit dipelajari ? → Apa Django support

    di lain OS ? → Apa kelemahan Django ? → Apakah harus faham betul mengenai Python, sebelum belajar Django ? → Apa alasan Django menggunakan headline “The web framework for perfectionists with deadlines.”? → Bagus mana, Django atau ROR (Ruby On Rails) ? General Questions: