Kali ini kita akan membuat aplikasi notes sederhana dengan mengunakan framework Django.
Terlebih dahulu anda harus menginstal Django pada sistem anda.
Untuk membuat proyek baru, kita bisa menggunakan perintah:
django-admin.py startproject webnotes
Akan terbentuk folder bernama notes dengan 4 files didalamnya : __init__.py, manage.py, settings.py dan urls.py
Buat direktori templates untuk menyimpan template yang akan kita pakai nantinya. Untuk yang menyukai console, bisa gunakan perintah berikut :
cd webnotes mkdir templates
Buka file settings.py. Untuk kemudahan, kita akan gunakan sqlite sebagai database engine kita.
DATABASE_ENGINE = 'sqlite3' DATABASE_NAME = 'webnotes.db'
Lalu arahkan setting template ke direktori template yang telah kita buat sebelumnya.
import os PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__)) TEMPLATE_DIRS = ( os.path.join(PROJECT_ROOT, 'templates') )
Salah satu yang paling saya sukai dalam Django adalah bahwa satu web Django itu terdiri dari aplikasi-aplikasi kecil yang bisa bersifat pluggable. Disini kita akan membuat aplikasi notes, yang bisa kita buat dengan perintah berikut :
django-admin.py startapp notes
Maka akan terbentuk folder notes, yang terdiri : __init__.py, models.py, tests.py dan views.py
Buka file models.py, lalu tambahkan kode berikut :
1 2 3 4 5 6 7 8 9 10 | from django.db import models class Notes(models.Model): """Ini adalah model yang akan menyimpan catatan-catatan kecil kita""" title = models.CharField(max_length=255) content = models.TextField() #added_at akan otomatis menyimpan waktu notes ini pertama dibuat added_at = models.DateTimeField(auto_now_add=True) #last_update akan otomatis menyimpan waktu ketika objek ini diupdate last_update = models.DateTimeField(auto_now=True) # |
Untuk keterangan lebih lanjut field-field yang bisa digunakan dalam models, anda bisa melihat referensi dokumentasi Django.
Buka file views.py, tambahkan kode berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | from django.views.generic.list_detail import object_list from django.views.generic.list_detail import object_detail from django.views.generic.create_update import create_object from django.views.generic.create_update import update_object from django.views.generic.create_update import delete_object from django.core.urlresolvers import reverse from models import Notes def notes_list(request): """Menampilkan semua notes yang ada""" return object_list(request, queryset=Notes.objects.all(), template_name='notes/list.html', template_object_name='note' ) def notes_detail(request, id): """Melihat rincian dari salah satu note""" return object_detail(request, queryset=Notes.objects.all(), object_id=id, template_name='notes/detail.html', template_object_name='note' ) def notes_create(request): """Membuat sebuah note baru""" return create_object(request, model=Notes, template_name='notes/create.html', post_save_redirect=reverse("notes_list") ) def notes_update(request, id): """Update sebuah note""" return update_object(request, model=Notes, object_id=id, template_name='notes/update.html', post_save_redirect=reverse("notes_list") ) def notes_delete(request, id): """Hapus sebuah note""" return delete_object(request, model=Notes, object_id=id, template_name='notes/delete.html', post_delete_redirect=reverse("notes_list") ) |
1 2 3 4 | from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^notes/', include('notes.urls')), |
Buka kembali settings.py lalu instal aplikasi note dengan cara menambahkan pada daftar INSTALLED_APPS.
... INSTALLED_APPS = ( ... 'notes' ) ...
Setelah instalasi aplikasi, kita harus melakukan sinkronisasi ke database dengan cara berikut :
python manage syncdb
Untuk menjalankannya kita memakai server development dari Django yang akan berjalan pada port 80
python manage runserver
Kita bisa menjalankan aplikasi ini dengan alamat http://localhost:8000/notes/list/
Untuk template dan source code aplikasi ini bisa anda download di github. Jangan sungkan untuk bertanya. Selamat mencoba.
Related posts:
[post terbaru], Membuat Aplikasi Notes Dengan Django – http://tinyurl.com/yz95bw5
This comment was originally posted on Twitter
wah makasih bos tutorialnua
kalo bisa perbanyak dong tutorial dasar django nya..
masih ngeblank nih :hammer:
wah thx tutorialnya…berguna banget..ditunggu materi yang lainnya..
Bro, sample codingnya pas di run qo error ya :
Traceback (most recent call last):
File “/usr/lib/pymodules/python2.6/django/core/servers/basehttp.py”, line 279, in run
self.result = application(self.environ, self.start_response)
File “/usr/lib/pymodules/python2.6/django/core/servers/basehttp.py”, line 651, in __call__
return self.application(environ, start_response)
File “/usr/lib/pymodules/python2.6/django/core/handlers/wsgi.py”, line 241, in __call__
response = self.get_response(request)
File “/usr/lib/pymodules/python2.6/django/core/handlers/base.py”, line 122, in get_response
return self.handle_uncaught_exception(request, resolver, sys.exc_info())
File “/usr/lib/pymodules/python2.6/django/core/handlers/base.py”, line 166, in handle_uncaught_exception
return callback(request, **param_dict)
File “/usr/lib/pymodules/python2.6/django/views/defaults.py”, line 23, in server_error
t = loader.get_template(template_name) # You need to create a 500.html template.
File “/usr/lib/pymodules/python2.6/django/template/loader.py”, line 81, in get_template
source, origin = find_template_source(template_name)
File “/usr/lib/pymodules/python2.6/django/template/loader.py”, line 74, in find_template_source
raise TemplateDoesNotExist, name
TemplateDoesNotExist: 500.html
Sorry bro, lupa URLnya, ditambah “/notes/list/”, jadi :
http://127.0.0.1:8000/notes/list/
Trus, untuk membuat proyek baru, perintah ini kayaknya bro salah ketik :
django-admin.py startproject webnotes
error :django-admin.py: command not found
yg betul :
django-admin startproject webnotes
CMIIW