Rumah > Artikel > pembangunan bahagian belakang > Menggunakan Django dalam Python: dari pengaturcaraan pemula hingga lanjutan
Dengan populariti bahasa Python, rangka kerja Django telah menjadi rangka kerja pembangunan web yang popular. Rangka kerja Django yang kaya dengan fungsi dan keupayaan untuk meningkatkan kecekapan pembangunan membuatkan pembangun berpusu-pusu kepadanya. Artikel ini akan memperkenalkan beberapa pengetahuan pengenalan rangka kerja Django dan menyediakan beberapa kemahiran pengaturcaraan lanjutan untuk membantu pemula lebih memahami dan menguasai penggunaan Django.
Rangka kerja Django ialah rangka kerja web sumber terbuka yang dibina pada bahasa Python. Falsafah reka bentuknya adalah "berdasarkan realiti, ringkas dan praktikal", terutamanya berdasarkan corak reka bentuk MVC (Model-View-Controller), dan menyediakan fungsi pembangunan web yang lengkap, termasuk antara muka pangkalan data, penghalaan URL, pemprosesan borang dan pemaparan templat. dan pengesahan pengguna, dsb.
Pemasangan Django
Sebelum kita mula menggunakan Django, kita perlu memasang Django terlebih dahulu. Anda boleh menggunakan pip untuk memasang Django: hanya jalankan arahan pip install Django.
Struktur asas Django
Django dibahagikan kepada berbilang komponen, termasuk Model, Paparan dan Templat. Ia ditakrifkan seperti berikut:
Konfigurasi URL Django
Konfigurasi URL ialah asas untuk memantau semua permintaan HTTP dan menghantarnya ke paparan yang sesuai. Dalam Django, anda boleh mengkonfigurasi URL dalam fail urls.py projek, contohnya:
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('about/', views.about, name='about'), ]
Di atas ialah contoh konfigurasi URL yang mudah. Ia mentakrifkan dua URL: satu ialah halaman utama direktori akar, dan satu lagi ialah halaman tentang /about/. Laluan menghantar permintaan kepada fungsi paparan indeks() dan about() dalam fail views.py Fungsi paparan ditakrifkan dalam bahagian seterusnya.
Fungsi paparan Django
Dalam Django, fungsi paparan ialah kod yang bertindak balas kepada permintaan pengguna. Mereka membina objek HttpResponse berdasarkan laluan dalam konfigurasi URL. Bentuk fungsi pandangan adalah seperti berikut:
from django.http import HttpResponse def index(request): return HttpResponse("Hello, World!")
Di atas adalah contoh mudah fungsi paparan indeks(). Ia bertindak balas kepada permintaan HTTP dan mengembalikan rentetan "Hello, World!"
Templat Django
Templat Django ialah kod yang digunakan untuk menentukan gaya halaman web. Mereka membenarkan anda membenamkan kod Python ke dalam HTML untuk membina halaman web dinamik. Fail templat disimpan dalam direktori projek/aplikasi/templat/. Berikut ialah contoh templat:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> </head> <body> <p>{{ content }}</p> </body> </html>
Dalam templat, {{ }} digunakan untuk menentukan blok kod Python tempat pembolehubah boleh diakses dan syarat serta gelung dilaksanakan. Dalam contoh di atas, pembolehubah tajuk dan kandungan diserahkan kepada templat dalam fungsi paparan untuk menjana tajuk dan perenggan secara dinamik.
Model Django
Model Django ialah kod yang digunakan untuk menentukan interaksi antara struktur data dan pangkalan data. Mereka membolehkan anda bekerja dengan mudah dengan rekod pangkalan data dengan cara Pythonic. Takrif model disimpan dalam fail app/models.py. Berikut ialah contoh model:
from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=200) pub_date = models.DateField() def __str__(self): return self.title
Dalam contoh di atas, kami telah menentukan model Buku yang mempunyai atribut tajuk, pengarang dan pub_date. Fungsi __str__() mentakrifkan perwakilan rentetan model. Model ini menggunakan pangkalan data SQLite lalai Django untuk penyimpanan, anda boleh menggunakan pangkalan data lain seperti mysql sebagai alternatif.
Petua Pengaturcaraan Lanjutan untuk Django
Django menyokong pemprosesan fail statik seperti CSS, JavaScript dan imej. Dalam fail settings.py tambah baris berikut:
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), '/var/www/static/', ] STATIC_ROOT = '/var/www/static_files/'
Dalam /templates/my_template.html anda boleh memasukkan baris kod ini:
{% load static %} <link rel="stylesheet" type="text/css" href="{% static 'my_style.css' %}">
Barisan kod di atas membenarkan untuk memuat turun fail dari folder statik Muatkan fail gaya my_style.css.
Django menyediakan sistem pengesahan pengguna, yang membolehkan anda melaksanakan kawalan akses berasaskan peranan dengan mudah dan memastikan pengguna dikenal pasti dengan betul apabila mengakses halaman yang dilindungi. pengesahan. Untuk menggunakan ciri ini, anda perlu mengimport perkara berikut terlebih dahulu daripada modul Django.contrib.auth:
from django.contrib.auth.decorators import login_required from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
Kemudian anda boleh menandakan paparan dilindungi dengan @loginrequired decorator dan log masuk menggunakan pengesahan, log masuk dan log keluar fungsi dan proses log keluar.
Django mempunyai rangka kerja ujian yang membolehkan anda menulis kes ujian dan memastikan aplikasi anda berfungsi dengan betul dalam apa jua keadaan. Untuk menulis kes ujian, cipta fail tests.py dan import kelas TestCase Django. Berikut ialah contoh kes ujian:
from django.test import TestCase from django.urls import reverse class MyAppTests(TestCase): def test_index(self): response = self.client.get(reverse('index')) self.assertEqual(response.status_code, 200)
Dalam contoh di atas, kami telah mencipta TestClass bernama MyAppTests dan menambah test_index kes ujian. Kami menggunakan objek klien Django untuk mensimulasikan permintaan dan memastikan bahawa kod respons HTTP 200 dikembalikan.
Ringkasan
Rangka kerja Django ialah rangka kerja pembangunan web yang berkuasa yang menyediakan set alat yang lengkap dan mudah digunakan untuk pembangunan pesat aplikasi web. Menggunakan konsep asas dan teknik pengaturcaraan lanjutan yang disediakan dalam artikel ini, anda boleh membina aplikasi web Django dengan mudah dan memperoleh pemahaman yang mendalam tentang menggunakan Django.
Atas ialah kandungan terperinci Menggunakan Django dalam Python: dari pengaturcaraan pemula hingga lanjutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!