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

 

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>