Memulai proyek django (5)

October 25, 2016 Leave a comment

Bahasan kali ini adalah seputar template yang dapat memfasilitasi views yang sebelumnya dibuat dinamis.
Sebagai langkah pertama, ubah file views.py pada aplikasi polls sehingga terdapat baris-baris berikut ini di dalamnya.

from django.http import HttpResponse
from django.template import loader
from .models import Question

def index(request):
    latest_question_list = Question.objects.order_by('-pub_date')[:5]
    template = loader.get_template('polls/index.html')
    context = {
        'latest_question_list': latest_question_list,
    }
    return HttpResponse(template.render(context, request))

Langkah berikutnya adalah membuat template. Secara default, diletakkan di bawah directory setiap aplikasi ketika atribut APP_DIRS bernilai true. Buatlah file template dengan nama index.html di bawah sub directory dengan struktur polls/templates/polls. Lalu isi file tersebut seperti kode sumber berikut ini. Baris perintah di antara tanda {% dan %} adalah baris perintah dari bahasa python yang di-embed dalam html. Perhatikan variabel latest_question_list pada views.py dan index.html. Variabel tersebut merupakan object dari class Question.

<html>
<body>
{% if latest_question_list %}
    <ul>
    {% for question in latest_question_list %}
        <li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No polls are available.</p>
{% endif %}
</body>
</html>

Read more…

Categories: Python, Tutorial

Memulai proyek django (4)

October 24, 2016 1 comment

Tulisan ini dikhususkan untuk memahami apa yang dimaksud dengan view dalam django. View adalah jenis halaman web yang secara umum melayani fungsi tertentu dan memiliki template khusus. Setiap halaman web dan konten lainnya disampaikan menggunakan view. Setiap view direpresentasikan dengan fungsi python sederhana (method dari obyek python). View yang akan dipilih django ditentukan dari url yang dimasukkan dalam peramban setelah informasi nama domian.

Dalam konteks aplikasi polls yang sebelumnya dibangun kita akan membuat beberapa view antara lain:

  1. Halaman index dari daftar pertanyaan yang ada
  2. Halaman detail untuk menampilkan satu pertanyaan dengan menu untuk memilih (vote)
  3. Halaman result untuk menampilkan satu pertanyaan dengan hasil votingnya
  4. Aksi untuk voting, untuk melakukan voting terhadap salah satu pertanyaan. Aksi ini akan berada dalam halaman detail.

Read more…

Categories: Python, Tutorial

Memulai proyek django (3)

October 24, 2016 Leave a comment

Setelah kita mencoba membuat aplikasi dan membuat akun admin, kini kita ingin aplikasi tersebut dapat dikelola dalam halaman admin. Yang pertama kali perlu dilakukan adalah memodifikasi file admin.py pada aplikasi polls.

from django.contrib import admin
from .models import Question

admin.site.register(Question)

Berikutnya adalah jalankan server dengan perintah python manage.py runserver. Ketika login dalam aplikasi admin, maka Anda akan mendapatkan halaman seperti pada Gambar 1 berikut ini.

Gambar 1. Halaman index dari aplikasi admin

Gambar 1. Halaman index dari aplikasi admin

Sekian dulu tulisan singkatnya. Semoga bermanfaat….

Categories: Python, Tutorial

Server PXE untuk instalasi otomatis menggunakan CentOS 7

October 24, 2016 Leave a comment

Server PXE (Preboot Execution Environment) yang akan dibuat di lingkungan Virtualbox dalam mesin Ubuntu 16.04. Sementara sever dan client-nya berbasis CentOS 7. Beberapa prasyarat sebelum dapat melakukannya adalah sebagai berikut

  1. Install dahulu paket virtualbox-ext-pack.
  2. Siapkan mesin virtual berbasis CentOS 7 yang akan dijadikan server PXE serta client-nya menggunakan skema seperti yang dijelaskan di sini.
  3. Siapkan lokasi repository bagi server PXE untuk menambah paket-paket yang diperlukan. Dalam hal ini, saya membuat server repository di mesin host Ubuntu melalui http, sementara bahannya dari repository yang terdapat pada file iso CentOS versi Everything.

Pekerjaan selanjutnya akan lebih banyak berada pada server PXE. Berikut adalah tahapannya. Read more…

Categories: Tentang OSS, Tutorial

Memulai proyek django (2)

October 24, 2016 1 comment

Tulisan kali ini merupakan aktifitas “tulis ulang” dari dokumentasi Django seperti telah dijelaskan di sini. Pada Django setiap proyek akan terdiri dari sejumlah aplikasi. Pada proyek yang dibuat di sini, kita akan membuat aplikasi yang diberi nama polls, aplikasi “tulis ulang” dari dokumentasi django. Berikut ini adalah tahapannya.

  1. Jalankan perintah python manage.py startapp polls. Mohon perhatikan posisi Anda relatif terhadap posisi manage.py. Sebuah directory akan terbentuk di dalam directory
  2. Sebagaimana konsep MVC (Model-View-Controller) yang diadopsi django, kita akan memulai dari class view. Di dalam directory polls, file views.py yang mewakili class view. Ubah file tersebut hingga berisi seperti code di berikut.
    from django.shortcuts import render
    from django.http import HttpResponse
    
    def index(request):
    	return HttpResponse("Hello world, you're at the polls index.")
    
  3. Selanjutnya, ubah juga file urls.py di directory polls.
    from django.conf.urls import url
    from . import views
    
    urlpatterns=[
    	url(r'^$',views.index, name='index'),
    ]
    
  4. Modifikasi juga file urls.py dari proyek django seperti berikut ini.
    from django.conf.urls import include, url
    from django.contrib import admin
    
    urlpatterns = [
        url(r'^polls/', include('polls.urls')),
        url(r'^admin/', admin.site.urls),
    ]
    
  5. Untuk mengujinya, jalankan perintah python manage.py runserver, lalu arahkan browser Anda ke alamat http://localhost:8000/polls untuk melihat halaman index dari aplikasi polls yang Anda buat seperti diilustrasikan pada Gambar 1.
    Gambar 1. Halaman index aplikasi polls

    Gambar 1. Halaman index aplikasi polls

  6. Setelah class view, kita berlanjut ke class model. Ubah file models.py pada aplikasi polls seperti di bawah ini.
    from __future__ import unicode_literals
    from django.db import models
    
    class Question(models.Model):
    	question_text=models.CharField(max_length=200)
    	pub_date=models.DateTimeField('date published')
    
    class Choice(models.Model):
    	question=models.ForeignKey(Question, on_delete=models.CASCADE)
    	choice_text=models.CharField(max_length=200)
    	votes=models.IntegerField(default=0)
    
  7. Kemudian, ubah file settings.py dari proyek django Anda untuk subyek INSTALLED_APPS seperti di bawah ini.
    INSTALLED_APPS = [
        'polls.apps.PollsConfig',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]
    
  8. Read more…

Categories: Python, Tutorial

Memulai proyek django (1)

October 21, 2016 2 comments

Setelah melakukan persiapan kita dapat mulai mengembangkan proyek aplikasi dengan django. Pada kasus ini, saya ingin membuat aplikasi web dengan basis data MySQL. Django sendiri hadir dengan basis data default SQLite, sehingga proyek aplikasi yang kita buat akan secara otomatis dibuat menggunakan SQLite jika tidak ada modifikasi. Berikut ini adalah tahapannya.

  1. Pastikan Anda telah membuat database pada MySQL
  2. Ubah berkas settings.py dalam directory proyek Anda. Secara default, isi dari bagian DATABASE adalah seperti code berikut.
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    
  3. Ubah agar menjadi seperti berikut. Sesuaikan informasi tentang nama database, akun serta password yang digunakan.
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'uspen',
            'USER': 'arya',
            'PASSWORD': '123456',
            'HOST': 'localhost',
        }
    }
    
  4. Jalankan perintah python manage.py makemigrations dan python manage.py migrate.
  5. Sejumlah tabel akan terbentuk pada database yang dijelaskan tadi seperti ditunjukkan pada Gambar 1.
  6. Anda dapat membuat akun superuser dengan menjalankan perintah python manage.py createsuperuser lalu memberikan isian sesuai yang diminta. Informasi superuser selanjutnya akan ditambahkan dalam tabel user_auth. Untuk mengujianya, jalankan server dengan perintah python manage.py runserver lalu akses halaman superuser melalui alamat http://localhost:8000/admin. Masuklah dengan akun yang baru saja Anda buat. Anda akan dibawa ke halaman seperti pada Gambar 2 di bawah ini.

Sementara kita rehat dulu di sini. Setelah ngopi-ngopi, kita lanjut lagi menelusuri setiap sudut Django.
Read more…

Categories: Python, Tentang OSS, Tutorial

Memulai django

October 18, 2016 2 comments

Tulisan ini dibuat setelah beberapa kali mencoba django tanpa mendokumentasinya. Jadi, langsung saja. Beberapa hal yang perlu diperhatikan ketika memulai django.

  1. Django dapat diunduh dengan berbagai cara, dari kode sumbernya maupun dalam bentuk paket yang sesuai dengan distro sistem operasi. Dalam hal ini, saya menggunakan kode sumber yang saya unduh menggunakan git.
  2. Karena sudah ada, saya coba melihat kondisi terakhir django dengan perintah git status dari directory django yang pernah saya unduh sebelumnya.
  3. Selesai mengunduh dengan git, akan terdapat directory dengan nama django di mana kita menjalankan . Di dalamnya terdapat directory doc. Masuklah ke dalam dan jalankan perintah make html misalnya (karena dokumentasi dapat dibuat dalam banyak format, dan saya menyukai format html karena fitur hyperlink-nya). Hasilnya akan disimpan di directory _build. Dari sinilah kita mulai.
  4. Proyek Django dapat dikembangkan secara virtual, dalam arti pengembangannya tidak mempengaruhi sistem di mana proyek dikerjakan. Caranya adalah dengan menggunakan virtualenv. Jalankan perintah virtualenv myproject untuk membuat directory virtual untuk proyek Anda. Sebuah directory bernama myproject akan dibuat di mana perintah dipanggil. Di dalamnya terdapat sejumlah file dan sub directory yang salah satunya bernama bin. Di dalam bin inilah kita dapat mengaktifkan lingkungan virtual untuk proyek kita atau mendeaktifkannya.
  5. Directory virtual diaktifkan dengan menjalankan perintah source ./bin/activate. Untukmendeaktifkannya, jalankan saja perintah deactivate di dalam lingkungan virtual tersebut.

Menurut saya, hal-hal di atas cukup sebagai modal awal memulai pengembangan proyek Django.

Categories: Python, Tentang OSS, Tutorial