Membuat Aplikasi Notes Dengan Django

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:

  1. Mengenal Django Framework
  2. Membuat Django Templates Relatif terhadap Proyek
  3. Membuat Microblog Sederhana Dengan CodeIgniter
  4. Instalasi Django Framework di Windows
  5. 10 Alasan Mengapa Anda Harus Mencoba Django

About Gilang Chandrasa

Gilang Chandrasa adalah seorang web developer yang sangat menyukai dunia open source. Memasak adalah salah satu hobinya diluar dunia IT. Pendiri Yumbaa dan Komunitaz ini juga adalah seorang blogger, menulis di berbagai situs termasuk komunitasweb. Mempunyai mimpi untuk memajukan dunia web Indonesia.
This entry was posted in Panduan and tagged , . Bookmark the permalink.

1 Tweet

6 Responses to Membuat Aplikasi Notes Dengan Django

  1. hahn says:

    wah makasih bos tutorialnua
    kalo bisa perbanyak dong tutorial dasar django nya..
    masih ngeblank nih :hammer:

  2. wah thx tutorialnya…berguna banget..ditunggu materi yang lainnya..

  3. Newbie says:

    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

  4. Newbie says:

    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

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Additional comments powered by BackType