Sample Django CRUD Mysql

crud django

Python Django

untuk memulai tutorial ini baca tutorial sebelumnya tentang install django.

pip install -r requirements.txt

pastikan di komputermu sudah terinstall mysql, perhatikan file settings.py yang ada di folder djangocrud sebagai berikut

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangocrud',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

 

download source lengkap : https://github.com/alfinfanther/DjangoCrud

note : sample diatas berjalan pada python 3.6.x

 

Django CRUD Part 1

atomic transaction django

Python Django

 

Django adalah web framework Python yang didesain untuk membuat aplikasi web dinamis, kaya fitur dan aman. Django dikembangkan oleh Django Software Foundation. Django terus mendapatkan perbaikan sehingga membuat web framework yang satu ini menjadi pilihan utama bagi banyak pengembang aplikasi web.

Seperti halnya web framework yang mengadopsi sitem MVC (model view controller) django pun mengimplementasikan MVC. MVC pada django sedikit berbeda seperti halnya pada web framework lainya yang di kenal dengan MVT (Model View Template). di mana model mengatur segala hal yang berhubungan dengan basis data dan view mengatur segala hal yang berhubungan dengan controller, sedangkan template mengatur segala hal yang berhubungan dengan end user.

Saat ini versi terbaru dari django adalah 1.11.4. pada versi terbaru django telah memperbaiki banyak hal salah satunya dictionary dimana di django 1.11.x aturan tentang dictionary di perbaiki sesuai dengan default python 3.6.x yaitu penggunaan tanda ( ‘ ). hal ini bertujuan untuk membedakan penulisan dictionary dan json data.

Bagaimana menginstal django di windows ?

– pastikan di komputermu sudah terinstall python, saran gunakan versi terbaru dari python

– buat sebuah direktori samplecrud, gunakan command line

– install django environment dengan pip

pip install virtualenvwrapper-win

– buat virtual environment

mkvirtualenv samplecrud

Gunakan perintah workon untuk mengaktifkan virtual environment dan deactivate untuk keluar dari virtual environment

– install django dengan pip

pip install django

-buat sebuat project django dengan nama crud

django-admin startproject crud

-jalankan django, untuk menguji apakah proses instalasi berhasil atau tidak

  python manage.py runserver

perhatikan gambar di bawah ini

 

selanjutnya buka di web browser localhost:8000

Bagaimana Cara Membuat Template Tags di Django ?

atomic transaction django

Python Django

Django template dilengkapi dengan beragam tags dan filter built-in yang dirancang untuk menangani kebutuhan aplikasi yang kita buat. namun adakalanya kita membutuhkan fungsionalitas tambahan yang tidak ditemukan dalam built-in django template.

Misal kita akan membuat sebuah library tambahan untuk mengubah unixtime kedalam format yang kita inginkan.

Langkah pertama, buat folder dengan nama templatetags pada project apps yang kita buat misal flights/templatetags. kemudia buat sebuah file dengan nama convert_time.py

from django import template
from datetime import datetime
import time
register = template.Library()
 
def print_timestamp(timestamp):
    if timestamp != None:
        unix_time = datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
    else:
        unix_time = timestamp
    return unix_time
 
register.filter(print_timestamp)

 

Langkah kedua, buka settings.py pada main project kemudian tambah builtin pada context template. tujuanya agar library convert_time dapat di import di template html

 

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, "templates")],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            #add builtin
            'builtins': [
                'flights.templatetags.convert_time'
            ],
        },
 
    },
]

 

Langkah ketiga, import library convert_time pada template html

{% load convert_time %}
 
<html>
<head></head>
<body>
{{created_date_unix|print_timestamp}}
</body>
</html>

Atomic Transaction Django

atomic transaction django

Python Django

Django secara default menjalankan mode autocommit. Django menggunakan savepoint secara otomatis untuk menjamin integritas operasi ORM yang memerlukan banyak query, terutama delete () dan update () queries. Django juga membungkus setiap TestCase dalam transaksi karena alasan kinerja.

penggunaan atomic transaction pada django perlu melakukan import library transaction

from django.db import transaction
from django.db import transaction
with transaction.atomic():
       account = (
           cls.objects
           .select_for_update()
           .get(id=id)
       )
 
       if account.balance < amount:
           raise errors.InsufficentFunds()
       account.balance -= amount
       account.save()

 

 

The staticfiles app django, collection part 3

Python Django

Staticfiles adalah kumpulan direktori dari setiap aplikasi yang bersifat statis biasanya berisi file css, pdf, javascript dan lain-lain

untuk melakukan konfigurasi staticfiles pada django ada 5 hal yang perlu kita pahami

Settings, ada beberapa hal di file setting.py yang perlu di konfigurasi

Management Command

Django.contrib.staticfiles terdapat 3 perintah untuk melakukan manajemen data

Storages, untuk melakukan manipulasi data pada sotrages ada 3 hal penting yang perlu di ketahui

 

Finder Module, staticfiles finder memiliki atribut searched_locations yang merupakan module untuk menemukan sebuah direktory

Helper, adalah beberapa alat bantu lain di luar aplikasi staticfiles yang bekerja dengan file statis

sumber : doc django project