Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Python untuk membina fungsi pengurusan alamat sistem CMS

Cara menggunakan Python untuk membina fungsi pengurusan alamat sistem CMS

PHPz
PHPzasal
2023-08-26 20:45:32944semak imbas

Cara menggunakan Python untuk membina fungsi pengurusan alamat sistem CMS

Cara menggunakan Python untuk membina fungsi pengurusan alamat sistem CMS

Dalam proses pembangunan laman web, fungsi pengurusan alamat adalah fungsi biasa dan perlu. Melalui pengurusan alamat, pengguna boleh menambah, mengedit dan memadam maklumat alamat, menyediakan pengguna dengan perkhidmatan penghantaran dan penghantaran yang mudah. Sebagai bahasa pengaturcaraan yang ringkas, berkuasa dan mudah dipelajari, Python boleh membantu kami mencapai fungsi ini dengan baik.

Artikel ini akan memperkenalkan secara terperinci cara menggunakan Python untuk membina fungsi pengurusan alamat sistem CMS dan memberikan contoh kod yang berkaitan.

1. Reka bentuk model data

Pertama, kita perlu mereka bentuk model data untuk pengurusan alamat. Dalam Python, anda boleh menggunakan Django, rangka kerja web yang sangat baik, untuk memudahkan operasi pangkalan data.

Berikut ialah contoh reka bentuk model alamat ringkas:

from django.db import models

class Address(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="用户")
    receiver_name = models.CharField(max_length=30, verbose_name="收件人姓名")
    receiver_phone = models.CharField(max_length=20, verbose_name="收件人电话")
    province = models.CharField(max_length=30, verbose_name="省份")
    city = models.CharField(max_length=30, verbose_name="城市")
    district = models.CharField(max_length=30, verbose_name="区县")
    address = models.CharField(max_length=100, verbose_name="详细地址")
    is_default = models.BooleanField(default=False, verbose_name="是否默认")
    created_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    updated_time = models.DateTimeField(auto_now=True, verbose_name="更新时间")

    class Meta:
        verbose_name = "地址"
        verbose_name_plural = "地址"

    def __str__(self):
        return self.address

Dalam contoh di atas, kami menentukan kelas model Alamat, yang mengandungi nama penerima, nombor telefon penerima, wilayah, bandar, daerah dan daerah, butiran Medan seperti alamat , lalai, masa penciptaan dan masa kemas kini.

2. Paparan dan templat untuk pengurusan alamat

Seterusnya, kami perlu mencipta paparan dan templat untuk pengurusan alamat, yang digunakan untuk pengguna melaksanakan operasi pengurusan alamat dalam sistem CMS.

  1. Paparan senarai alamat

Paparan senarai alamat digunakan untuk memaparkan senarai alamat pengguna Melalui paparan ini, pengguna boleh melihat semua maklumat alamat yang telah ditambah.

from django.shortcuts import render
from .models import Address

def address_list(request):
    address_queryset = Address.objects.filter(user=request.user)
    return render(request, "address/list.html", {"address_list": address_queryset})

Dalam kod di atas, kami mula-mula mengimport kelas model alamat Alamat yang perlu digunakan dalam templat, kemudian menapis senarai alamat pengguna semasa melalui kaedah penapis, dan akhirnya menghantar senarai alamat ke templat senarai .

  1. Alamat Tambah Paparan

Alamat Tambah Paparan digunakan untuk pengguna menambah maklumat alamat baharu. Pengguna boleh memasukkan maklumat yang berkaitan pada antara muka dan menyimpannya.

from django.shortcuts import render, redirect
from .models import Address
from .forms import AddressForm

def address_add(request):
    if request.method == "POST":
        form = AddressForm(request.POST)
        if form.is_valid():
            address = form.save(commit=False)
            address.user = request.user
            address.save()
            return redirect("address_list")
    else:
        form = AddressForm()
    return render(request, "address/add.html", {"form": form})

Dalam kod di atas, kami mengimport alamat kelas model Alamat dan kelas borang alamat AddressForm. Apabila pengguna menyerahkan borang melalui kaedah POST, kami akan mengesahkan dan menyimpan borang, dan kemudian melompat ke halaman senarai alamat. Jika kaedah GET, kami akan menghantar borang alamat ke halaman templat yang ditambah alamat untuk diisi oleh pengguna.

  1. Paparan penyuntingan alamat

Paparan penyuntingan alamat digunakan untuk pengguna mengedit maklumat alamat sedia ada. Pengguna boleh mengubah suai maklumat yang berkaitan dan menyimpannya.

from django.shortcuts import render, redirect, get_object_or_404
from .models import Address
from .forms import AddressForm

def address_edit(request, address_id):
    address = get_object_or_404(Address, id=address_id, user=request.user)
    if request.method == "POST":
        form = AddressForm(request.POST, instance=address)
        if form.is_valid():
            form.save()
            return redirect("address_list")
    else:
        form = AddressForm(instance=address)
    return render(request, "address/edit.html", {"form": form})

Dalam kod di atas, kami mengimport alamat kelas model Alamat dan kelas borang alamat AddressForm. Pertama, kami memperoleh objek alamat untuk diedit melalui kaedah get_object_or_404 Kemudian apabila menyerahkan borang, kami akan menghantar objek alamat ke kelas borang alamat, dan akhirnya mengesahkan dan menyimpan borang.

  1. Paparan pemadaman alamat

Paparan pemadaman alamat digunakan untuk pengguna memadamkan maklumat alamat sedia ada.

from django.shortcuts import get_object_or_404, redirect
from .models import Address

def address_delete(request, address_id):
    address = get_object_or_404(Address, id=address_id, user=request.user)
    address.delete()
    return redirect("address_list")

Dalam kod di atas, kami memperoleh objek alamat untuk dipadamkan melalui kaedah get_object_or_404, dan kemudian panggil kaedah padam objek untuk melaksanakan operasi pemadaman.

3. Konfigurasi URL pengurusan alamat

Akhir sekali, kita perlu mengkonfigurasi penghalaan URL bagi pengurusan alamat. Menurut fungsi paparan di atas, kita perlu mengkonfigurasi URL untuk senarai alamat, penambahan alamat, penyuntingan alamat dan pemadaman alamat.

from django.urls import path
from . import views

app_name = "address"

urlpatterns = [
    path("list/", views.address_list, name="address_list"),
    path("add/", views.address_add, name="address_add"),
    path("edit/<int:address_id>/", views.address_edit, name="address_edit"),
    path("delete/<int:address_id>/", views.address_delete, name="address_delete"),
]

Dalam kod di atas, kami mula-mula mengimport fungsi paparan pengurusan alamat, dan kemudian mengkonfigurasi penghalaan URL melalui kaedah laluan Setiap URL sepadan dengan fungsi paparan yang sepadan, dan setiap URL mempunyai nama yang unik.

Akhir sekali, kami menambah profil URL pengurusan alamat pada konfigurasi URL utama.

from django.urls import include, path

urlpatterns = [
    // ...
    path("address/", include("address.urls", namespace="address")),
    // ...
]

4. Ringkasan

Melalui langkah di atas, kami berjaya menggunakan Python untuk membina fungsi pengurusan alamat sistem CMS. Pengguna boleh melihat semua maklumat alamat yang ditambahkan melalui paparan senarai alamat, dan melakukan operasi yang sepadan melalui paparan tambah, edit dan padam alamat.

Menggunakan alat berkuasa seperti Python dan Django, kami boleh membina sistem CMS berfungsi sepenuhnya dengan mudah untuk memberikan pengguna pengalaman pengguna yang lebih baik. Saya harap artikel ini akan membantu anda dalam membina fungsi pengurusan alamat, dan saya juga berharap anda boleh terus mempelajari dan meneroka lebih banyak kegunaan dan fungsi Python.

Atas ialah kandungan terperinci Cara menggunakan Python untuk membina fungsi pengurusan alamat sistem CMS. 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