Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menggunakan Django dalam Python: dari pengaturcaraan pemula hingga lanjutan

Menggunakan Django dalam Python: dari pengaturcaraan pemula hingga lanjutan

WBOY
WBOYasal
2023-06-22 14:51:072159semak imbas

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:

  1. Model: digunakan untuk menentukan interaksi antara struktur data dan pangkalan data.
  2. Lihat: Proses permintaan pengguna, bina objek HttpResponse dan lengkapkan respons dengan memaparkan templat.
  3. Templat: digunakan untuk mentakrifkan bentuk paparan halaman web.

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

  1. Pengendalian Fail Statik

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.

  1. Pengesahan Pengguna

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.

  1. Pengujian

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!

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