Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membina aplikasi web dengan Python dan Django: panduan praktikal

Membina aplikasi web dengan Python dan Django: panduan praktikal

王林
王林asal
2023-06-22 17:51:301368semak imbas

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.

  1. Pasang 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.

  1. Buat projek Django

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;

  1. Buat aplikasi Django

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.

  1. Menulis model Django

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:

  • tajuk: Jenis rentetan, panjang maksimum ialah 200 aksara
  • pengarang (pengarang): jenis rentetan, panjang maksimum ialah 50 aksara
  • tarikh_publik (tarikh penerbitan): jenis tarikh
  • harga (harga): jenis perpuluhan , nilai maksimum ialah 9999.99 dan perpuluhan tempat ialah 2 tempat

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)
  1. Buat jadual pangkalan data

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.

  1. Menulis Pandangan

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;

  1. Menulis templat HTML

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!

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