Rumah >pembangunan bahagian belakang >Tutorial Python >Proses pembangunan rangka kerja Django dan amalan terbaik

Proses pembangunan rangka kerja Django dan amalan terbaik

王林
王林asal
2024-01-19 10:49:05921semak imbas

Proses pembangunan rangka kerja Django dan amalan terbaik

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.

  1. Memasang Django dan mencipta projek

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.

  1. Buat Aplikasi Django

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.

  1. Menulis Model

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.

  1. Menulis Pandangan

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".

  1. Templat Penulisan

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.

  1. Uji aplikasi anda

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

  1. Gunakan model untuk mewakili struktur data dan perhubungan

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.

  1. Asingkan paparan dan templat

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.

  1. Cuba ciri terbina dalam Django

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.

  1. Gunakan tetapan lalai Django

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.

  1. Menulis Ujian Automatik

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn