Rumah > Artikel > pembangunan bahagian belakang > Membina aplikasi web dengan Python dan Django: panduan praktikal
Python ialah bahasa pengaturcaraan yang popular dengan kelebihan mudah dipelajari, sangat mudah dibaca dan digunakan secara meluas dalam pembangunan web, sains data, pembelajaran mesin dan bidang lain. Antaranya, Django ialah rangka kerja web lanjutan yang dibangunkan berdasarkan bahasa Python dan merupakan alat penting untuk pembangunan aplikasi web.
Django popular dalam kalangan pembangun kerana ia mudah dipelajari, mudah diselenggara, mengikut model MVC dan didatangkan dengan ORMnya sendiri. Artikel ini akan menyediakan panduan praktikal untuk membina aplikasi web menggunakan Python dan Django.
Pertama, kita perlu memasang Python dan Django. Anda boleh memuat turun pakej pemasangan Python terkini daripada tapak web rasmi Python (www.python.org Selepas pemasangan, anda boleh memasukkan python dalam baris arahan untuk menyemak sama ada Python dipasang dengan betul.
Memasang Django boleh dilakukan melalui pengurus pakej pip Buka tetingkap baris arahan dan masukkan arahan berikut:
pip install django
Selepas pemasangan selesai, anda boleh menyemak sama ada Django dipasang dengan betul melalui. arahan berikut:
django-admin --version
Jika nombor versi Django dikembalikan, pemasangan berjaya.
Dalam baris arahan masukkan direktori tempat anda ingin menyimpan projek Django dan masukkan arahan berikut:
django-admin startproject myproject
Perintah ini akan mencipta projek Django bernama "myproject" mempunyai struktur direktori projek berikut:
myproject/ manage.py myproject/ __init__.py settings.py urls.py wsgi.py
Antaranya, manage.py ialah fail skrip yang digunakan untuk melaksanakan tugasan Django pada baris arahan yang mengandungi settings.py; tetapan projek; url py mengandungi corak URL projek;
Dalam projek Django, aplikasi merujuk kepada komponen yang menggabungkan aplikasi web dengan logik perniagaan tertentu. Kita boleh mencipta aplikasi dalam projek Django yang dibuat menggunakan arahan berikut:
python manage.py startapp myapp
Perintah ini akan mencipta aplikasi bernama "myapp" dalam direktori "myproject" projek Django, direktori aplikasi Strukturnya adalah seperti berikut :
myapp/ __init__.py admin.py apps.py models.py tests.py views.py
Antaranya, models.py mengandungi definisi model pangkalan data aplikasi.py mengandungi fungsi pemprosesan permintaan admin.py digunakan untuk mengurus latar belakang; permohonan itu.
ORM Django ialah alat yang memetakan kelas Python ke jadual pangkalan data Kami boleh mentakrifkan model aplikasi dengan mengedit fail models.py .
Sebagai contoh, kami mencipta model bernama "Book", yang mengandungi atribut berikut:
Kodnya adalah seperti berikut:
from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=50) pub_date = models.DateField() price = models.DecimalField(max_digits=5, decimal_places=2, max_value=9999.99)
Dalam Django, Jadual pangkalan data dicipta secara automatik daripada model. Kita boleh mencipta model ke dalam pangkalan data menggunakan arahan berikut:
python manage.py makemigrations myapp
Perintah ini akan mencipta fail migrasi pangkalan data yang menerangkan cara memetakan model ke dalam jadual pangkalan data. Kita boleh menggunakan arahan berikut untuk menggunakan migrasi ke pangkalan data:
python manage.py migrate
Arahan ini akan mencipta jadual ke dalam pangkalan data mengikut arahan dalam fail migrasi.
Dalam Django, pandangan ialah fungsi pemprosesan permintaan, bertanggungjawab untuk memproses permintaan yang dimulakan oleh pengguna dan menjana kandungan respons. Sebelum menulis paparan, kita perlu mengkonfigurasi corak URL untuk mengaitkan permintaan dengan paparan. Kami boleh mengedit fail urls.py dan menambah kod berikut:
from django.urls import path from . import views urlpatterns = [ path('books/', views.book_list, name='book_list'), path('books/new', views.book_new, name='book_new'), path('books/<int:pk>/edit/', views.book_edit, name='book_edit'), path('books/<int:pk>/delete/', views.book_delete, name='book_delete'), ]
Coretan kod ini mentakrifkan 4 corak URL, yang dikaitkan dengan 4 paparan. Antaranya, parameter pertama fungsi laluan menentukan URL, parameter kedua menentukan fungsi paparan, dan parameter ketiga ialah nama enjin templat apabila memaparkan paparan ke dalam HTML.
Dalam fail views.py, kita boleh mentakrifkan fungsi pemprosesan permintaan, contohnya:
from django.shortcuts import render, get_object_or_404 from .models import Book from .forms import BookForm def book_list(request): books = Book.objects.all() return render(request, 'book_list.html', {'books': books}) def book_new(request): if request.method == "POST": form = BookForm(request.POST) if form.is_valid(): book = form.save(commit=False) book.save() return redirect('book_list') else: form = BookForm() return render(request, 'book_edit.html', {'form': form}) def book_edit(request, pk): book = get_object_or_404(Book, pk=pk) if request.method == "POST": form = BookForm(request.POST, instance=book) if form.is_valid(): book = form.save(commit=False) book.save() return redirect('book_list') else: form = BookForm(instance=book) return render(request, 'book_edit.html', {'form': form}) def book_delete(request, pk): book = get_object_or_404(Book, pk=pk) book.delete() return redirect('book_list')
Antaranya, fungsi book_list digunakan untuk mengembalikan senarai semua buku; digunakan untuk mencipta buku baru Fungsi ini digunakan untuk mengedit buku sedia ada;
Dalam Django, kami boleh menggunakan enjin templat untuk memaparkan fungsi paparan ke dalam halaman HTML untuk mempersembahkan antara muka web visual kepada pengguna. Kami boleh mencipta fail templat HTML dalam direktori templat, seperti book_list.html.
Kodnya adalah seperti berikut:
{% extends 'base.html' %} {% block content %} <h1>Books</h1> <a href="{% url 'book_new' %}">New book</a> <table> <thead> <tr> <th>Title</th> <th>Author</th> <th>Pub date</th> <th>Price</th> <th>Actions</th> </tr> </thead> <tbody> {% for book in books %} <tr> <td>{{ book.title }}</td> <td>{{ book.author }}</td> <td>{{ book.pub_date }}</td> <td>{{ book.price }}</td> <td> <a href="{% url 'book_edit' book.id %}">Edit</a> <a href="{% url 'book_delete' book.id %}">Delete</a> </td> </tr> {% endfor %} </tbody> </table> {% endblock %}
Antaranya, {% extends 'base.html' %} menentukan bahawa templat ini diwarisi daripada templat base.html %}; to {% endblock %} Menentukan bahawa kandungan utama dalam templat ini ialah kandungan yang terkandung di dalamnya.
Kami menjalankan pelayan Django dan membuka localhost:8000/books/ dalam penyemak imbas untuk melihat senarai semua buku.
Melalui contoh mudah ini, kami belajar cara menggunakan Python dan Django untuk membina aplikasi web, dan melibatkan operasi asas, termasuk memasang Python dan Django, mencipta projek dan aplikasi Django, serta menulis model dan pandangan dan templat Django. Harap panduan ini membantu anda membina aplikasi web anda sendiri.
Atas ialah kandungan terperinci Membina aplikasi web dengan Python dan Django: panduan praktikal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!