Rangka kerja Django ialah rangka kerja aplikasi web yang dibangunkan menggunakan bahasa Python. Ia menggunakan corak seni bina perisian MVC (Model-View-Controller) dan prinsip reka bentuk DRY (Don't Repeat Yourself). Ia amat pantas untuk dibangunkan kerana kod Python yang dioptimumkan dan alatan terbina dalam membolehkan pembangun membina aplikasi web dengan cepat. Artikel ini akan memperkenalkan proses pembangunan dan amalan terbaik rangka kerja Django dan menyediakan beberapa contoh kod.
Sebelum anda mula menggunakan Django, anda perlu memasang Python dan Django. Selepas memasang Python, anda boleh menggunakan arahan berikut untuk memasang versi terkini Django:
pip install django
Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk mencipta projek Django baharu:
django-admin startproject projectname
Dalam arahan ini, "projectname" ialah nama projek. Perintah ini akan mencipta projek Django baharu dan fail Python bernama "manage.py" dalam direktori akar projek. Fail ini digunakan untuk mengurus aplikasi Django semasa pembangunan.
Dalam Django, berbilang aplikasi boleh dibuat untuk mengatur dan mengurus kod aplikasi. Arahan berikut akan mencipta aplikasi baharu bernama "appname":
python manage.py startapp appname
Dalam arahan ini, "appname" ialah nama aplikasi. Perintah ini akan mencipta direktori aplikasi baharu, "appname", dalam akar projek Django dan secara automatik menjana beberapa fail lalai seperti model, paparan dan pengawal.
Model ialah salah satu komponen terpenting dalam aplikasi Django. Ia digunakan untuk menentukan struktur dan hubungan data, biasanya sepadan dengan jadual pangkalan data. Berikut ialah contoh model ringkas yang mentakrifkan struktur pelajar:
from django.db import models class Student(models.Model): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) email = models.EmailField(max_length=254) phone = models.CharField(max_length=15) def __str__(self): return "{0} {1}".format(self.first_name, self.last_name)
Dalam kod di atas, "Pelajar" ialah nama model. Ia mengandungi "first_name", "last_name", e-mel dan nombor telefon pelajar. Dengan menggunakan objek model, rekod pelajar baharu boleh dibuat dalam pangkalan data.
Pandangan ialah salah satu teras rangka kerja Django. Views ialah fungsi atau kaedah Python yang mengendalikan permintaan HTTP dan mengembalikan respons HTTP. Paparan boleh memaparkan templat HTML, menghantar data model ke dalam templat untuk pemaparan. Berikut ialah contoh paparan:
from django.shortcuts import render from .models import Student def student_list(request): students = Student.objects.all() context = {'students': students} return render(request, 'students/student_list.html', context)
Dalam kod di atas, "senarai_pelajar" ialah nama fungsi paparan. Fungsi ini menanyakan semua pelajar dengan menggunakan model "Pelajar" dan menyimpan keputusan dalam pembolehubah "pelajar". Seterusnya, gunakan fungsi "render" untuk memaparkan hasil ke dalam templat "student_list.html".
Templat biasanya digunakan untuk menentukan rupa dan rasa tapak web, serta untuk memaparkan data yang dihantar daripada paparan. Django menggunakan enjin templat untuk memaparkan templat HTML dan menyuntik data yang diterima daripada paparan ke dalam templat. Berikut ialah contoh templat mudah:
{% extends 'base.html' %} {% block content %} <table> <thead> <tr> <th>First Name</th> <th>Last Name</th> <th>Email</th> <th>Phone</th> </tr> </thead> <tbody> {% for student in students %} <tr> <td>{{ student.first_name }}</td> <td>{{ student.last_name }}</td> <td>{{ student.email }}</td> <td>{{ student.phone }}</td> </tr> {% endfor %} </tbody> </table> {% endblock %}
Dalam kod di atas, arahan "{% extends 'base.html' %}" bermaksud templat memanjangkan templat asas. Kandungan antara arahan "{% block content %}" dan "{% endblock %}" mentakrifkan kandungan utama templat. Gunakan arahan "{% untuk pelajar dalam pelajar %}" untuk mengulangi semua pelajar dan memaparkannya dalam templat menggunakan teg HTML yang sesuai.
Tulis dan jalankan ujian automatik menggunakan modul "unittest" Django. Ujian boleh dilakukan terhadap paparan, model dan URL untuk memastikan ketepatan aplikasi. Berikut ialah contoh paparan ujian mudah:
from django.test import TestCase from django.urls import reverse class StudentListViewTestCase(TestCase): def setUp(self): self.url = reverse('students:student_list') def test_student_list_view_correct_template(self): response = self.client.get(self.url) self.assertTemplateUsed(response, 'students/student_list.html') def test_student_list_view_context(self): response = self.client.get(self.url) self.assertTrue('students' in response.context) self.assertTrue(len(response.context['students']) == 0)
Dalam kod di atas, kaedah "setUp" digunakan untuk menetapkan URL paparan sebelum setiap kes ujian. Dalam kes ujian "test_student_list_view_correct_template", gunakan kaedah self.client.get untuk mengakses paparan dengan mengakses URL dan gunakan kaedah "assertTemplateUsed" untuk menyemak sama ada templat HTML yang betul digunakan untuk memaparkan paparan. Dalam kes ujian "test_student_list_view_context", semak sama ada pembolehubah "pelajar" wujud dalam konteks templat dengan menyemak sifat "response.context" dan pastikan nilainya adalah sifar.
Amalan Terbaik
Model Django ialah teras sistem ORM (Pemetaan Perhubungan Objek). Kelas model mentakrifkan struktur dan hubungan data dan memetakannya ke jadual pangkalan data. Menggunakan model, anda boleh mengelak daripada menguruskan jadual pangkalan data secara manual dan memanfaatkan ciri lanjutan terbina dalam Django seperti pertanyaan, penyertaan dan pengesahan data.
Mengasingkan paparan dan templat ialah amalan terbaik dalam pembangunan Django, yang membantu mengkategorikan dan menyusun kod anda. Views mengendalikan data, manakala templat bertanggungjawab terutamanya untuk pembentangan. Kebolehselenggaraan aplikasi dipastikan melalui paparan yang jelas dan reka bentuk templat.
Django menyediakan banyak ciri terbina dalam yang boleh mempercepatkan proses pembangunan aplikasi web. Menggunakan ORM terbina dalam, borang, keselamatan, penghalaan URL dan enjin templat Django, anda boleh mengelak daripada menulis banyak kod pendua dan memastikan kualiti dan kestabilan aplikasi anda.
Tetapan Django mengandungi semua nilai konfigurasi yang digunakan dalam aplikasi. Menggunakan tetapan lalai yang sesuai boleh meningkatkan prestasi, keselamatan dan kebolehgunaan. Mengoptimumkan tetapan boleh mengurangkan ralat dan kelemahan kod dan meningkatkan kebolehselenggaraan aplikasi.
Menulis ujian automatik boleh membantu mencari dan menyelesaikan pepijat dalam aplikasi anda. Django menyediakan rangka kerja ujian yang berkuasa yang boleh digunakan untuk mengautomasikan ujian bahagian kritikal aplikasi Django. Menulis kes ujian mengekalkan kestabilan aplikasi sepanjang kitaran pembangunan dan memastikan ciri baharu yang dibangunkan tidak memecahkan bahagian lain aplikasi.
Kesimpulan
Django ialah rangka kerja web yang ringkas, fleksibel dan berkuasa. Gunakan ciri terbina dalam, tetapan yang dioptimumkan dan kaedah ujian automatik untuk membina aplikasi web yang sangat boleh diselenggara dan berskala. Proses pembangunan Django adalah jelas dan mudah, membolehkan pembangunan aplikasi dijalankan dengan cepat dan cekap.
Atas ialah kandungan terperinci Proses pembangunan rangka kerja Django dan amalan terbaik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!