Prasyarat:
Sebelum mempraktikkan skrip tutorial ini, Anda harus menyelesaikan tugas-tugas berikut:.
SEBUAH. Instal Django versi 3+ di Ubuntu 20+ (lebih disukai)
B. Buat proyek Django
C. Jalankan server Django untuk memeriksa server bekerja dengan benar atau tidak.
Siapkan aplikasi Django:
SEBUAH. Jalankan perintah berikut untuk membuat aplikasi Django bernama aplikasi basis data.
$ python3 kelola.py startapp databaseappB. Jalankan perintah berikut untuk membuat pengguna untuk mengakses database Django. Jika Anda telah menyelesaikan pengguna sebelumnya, maka Anda tidak perlu menjalankan perintah.
$ python3 kelola.py buat pengguna superC. Tambahkan nama aplikasi di INSTALLED_APP bagian dari pengaturan.file py.
INSTALLED_APPS = […
'validasi aplikasi'
]
D. Buat folder bernama template di dalam aplikasi basis data folder dan atur template lokasi aplikasi di TEMPLATE bagian dari pengaturan.py mengajukan.
TEMPLATE = [… .
'DIRS': ['/home/fahmida/django_pro/databaseapp/templates'],
… .
,
]
Model desain dengan atribut default dan null:
Ubah model.py file dengan skrip berikut untuk membuat tabel bernama produk yang akan berisi empat bidang tanpa bidang id. Ini nama, harga, tanggal_produksi, dan tanggal_kedaluwarsa. Nilai dari batal atribut disetel ke True untuk semua bidang. Nilai dari yang kosong atribut diatur ke True untuk semua bidang juga. Ini berarti pengguna dapat mengosongkan bidang sebelum mengirimkan formulir yang akan menggunakan model ini. Itu default nilai atribut ditetapkan untuk harga, tanggal_produksi, dan tanggal_kedaluwarsa.
model.py
# Modul model impordari django.model impor db
# Buat kelas untuk menentukan struktur tabel Guru
Produk kelas (model).Model):
nama = model.CharField(max_length=50, null=Benar, kosong=Benar)
harga = model.IntegerField(null=Benar, default=", kosong=Benar)
tanggal_manufaktur = model.DateField(null=Benar, default='0000-00-00', kosong=Benar)
tanggal_kedaluwarsa = model.DateField(null=Benar, default='0000-00-00', kosong=Benar)
Jalankan perintah migrasi berikut untuk membuat file migrasi yang diperlukan dan tabel database database SQLite.
$ python3 kelola.py makemigrations databaseapp$ python3 kelola.py bermigrasi
Penyisipan data menggunakan Dasbor Administrasi Django:
Ubah konten dari admin.py file dengan skrip berikut untuk mendaftarkan model dalam database.
admin.py
Ubah url.py file dengan skrip berikut untuk menentukan jalur untuk membuka Dasbor Administratif Django.
url.py
# Impor modul admindari django.kontribusi impor admin
# Modul jalur impor
dari django.jalur impor url
# Tentukan jalur untuk pelanggan dan admin
pola url = [
jalur('admin/', admin.situs.url)
]
Sekarang, jalankan server Django dan pergi ke Dasbor Administratif Django dengan menggunakan URL berikut.
http://localhist:8000/admin
buka formulir entri produk dengan mengklik Tambahkan produk. Jika pengguna mengirimkan formulir tanpa memasukkan data, maka output berikut akan muncul di browser:. Di sini, dua bidang tanggal menunjukkan kesalahan karena nilai default bidang tanggal tidak dalam format yang valid.
Output berikut akan muncul setelah menambahkan data tanggal yang valid. Di sini, harga bidang kosong untuk menggunakan atribut default.
Penyisipan data menggunakan template:
Cara memasukkan data ke dalam produk tabel menggunakan formulir HTML telah ditampilkan di bagian ini. Di sini, elemen formulir akan dihasilkan berdasarkan model yang dibuat sebelumnya.
formulir.py
# Modul formulir impordari formulir impor Django
# Impor model Pelanggan
dari dbapp.model impor Produk
# Tentukan kelas untuk formulir pelanggan
kelas ProductForm(formulir.ModelForm):
kelas Meta:
model = Produk
bidang = '__semua__'
Buat file HTML bernama produk.html di dalam template folder aplikasi dengan skrip berikut. Data formulir akan dikirimkan ketika pengguna mengklik tombol Menyimpan tombol.
produk.html
Formulir Masuk Pelanggan Customer
Ubah dilihat.py file dengan skrip berikut untuk memasukkan data ke dalam produk tabel setelah memvalidasi formulir. TambahkanProduk() fungsi didefinisikan dalam skrip untuk memeriksa formulir dikirim atau tidak, dan jika formulir dikirimkan, maka itu akan memeriksa apakah data formulir valid atau tidak valid. Jika adalah benar() fungsi kembali benar, maka data tersebut akan dimasukkan ke dalam produk tabel, dan pesan sukses akan ditampilkan di browser.
dilihat.py
# Impor modul HttpResponsedari django.http.tanggapan impor HttpResponse
# Impor modul render
dari django.pintasan impor render
# Impor ProdukForm
dari dbapp.formulir impor ProductForm
# Tentukan fungsi untuk menambahkan entri produk
def AddProduct(permintaan):
jika permintaan.metode == "POST":
form = ProductForm(permintaan.POS)
# Jika data formulir valid atau tidak
jika bentuk.adalah benar():
mencoba:
# Simpan data formulir ke dalam database
untuk m.menyimpan()
# Tentukan pesan untuk pengguna
data = ['
Produk ditambahkan.
']# Kembalikan tanggapan
kembali HttpResponse(data)
kecuali:
lulus
lain:
# Tentukan objek formulir
bentuk = ProdukForm()
# Tunjukkan formulir entri produk
mengembalikan render(permintaan, 'produk.html', 'form': formulir)
Ubah url.py file dengan skrip berikut untuk menentukan jalur untuk memanggil fungsi tampilan.
url.py
# Impor modul admindari django.kontribusi impor admin
# Modul jalur impor
dari django.jalur impor url
# Impor tampilan
dari tampilan impor dbapp
# Tentukan jalur untuk pelanggan dan admin
pola url = [
jalur(", tampilan.TambahkanProduk),
jalur('admin/', admin.situs.url)
]
Sekarang, jalankan server Django dan buka URL dasar di browser.
http://localhist:8000/
Akan muncul form berikut.
Pengikut NilaiError akan muncul jika pengguna mengirimkan formulir tanpa menambahkan data apa pun di formulir. Di sini, harga field adalah bilangan bulat yang tidak boleh berupa string kosong.
Jika pengguna memasukkan data yang valid seperti formulir di bawah ini dan menekan tombol Menyimpan tombol, catatan produk baru akan dimasukkan ke dalam database.
Gambar berikut akan muncul jika anda membuka catatan yang baru dimasukkan dari Dasbor Django.
Kesimpulan:
Sebuah model telah dirancang dengan menggunakan atribut null, dan default dalam tutorial ini. Selanjutnya, cara-cara menyisipkan data dalam bidang-bidang ini di back-end dan front-end telah diperlihatkan di sini untuk membantu pembaca mengetahui penggunaan atribut default dan null dalam database Django.