Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Perbandingan versi Django: Apakah perbezaan antara 1.x, 2.x dan 3.x?

Perbandingan versi Django: Apakah perbezaan antara 1.x, 2.x dan 3.x?

WBOY
WBOYasal
2024-01-19 08:01:161264semak imbas

Perbandingan versi Django: Apakah perbezaan antara 1.x, 2.x dan 3.x?

Django ialah rangka kerja web Python yang sangat boleh dikembangkan yang direka untuk membantu pembangun membina aplikasi web dengan lebih pantas dan mudah. Dari masa ke masa, Django terus membangun dan mengemas kini, dan versi stabil terkini ialah siri 3.x. Artikel ini akan membandingkan perbezaan utama antara versi Django 1.x, 2.x dan 3.x dan menyediakan beberapa contoh kod khusus.

  1. Siri Django 1.x:

Django 1.x ialah versi yang paling awal dikeluarkan Dalam kemas kini berikutnya, Django telah berkembang secara beransur-ansur menjadi rangka kerja Web yang kuat dan stabil. Berikut ialah beberapa ciri utama dan contoh kod versi ini:

  • Tetapan projek: Django 1.x menggunakan fail settings.py untuk mengkonfigurasi projek, yang termasuk sambungan pangkalan data, tetapan aplikasi, dsb. Berikut ialah contoh tetapan.py yang mudah:

    DATABASES = {
       'default': {
          'ENGINE': 'django.db.backends.mysql',
          'NAME': 'mydatabase',
          'USER': 'myuser',
          'PASSWORD': 'mypassword',
          'HOST': 'localhost',
          'PORT': '3306',
       }
    }
    
    INSTALLED_APPS = [
       'django.contrib.admin',
       'django.contrib.auth',
       'django.contrib.contenttypes',
       'django.contrib.sessions',
       'django.contrib.messages',
       'django.contrib.staticfiles',
    ]
  • Konfigurasi URL: Django 1.x mengkonfigurasi penghalaan URL melalui fail urls.py. Berikut ialah contoh urls.py mudah:

    from django.contrib import admin
    from django.urls import include, path
    
    urlpatterns = [
       path('admin/', admin.site.urls),
       path('blog/', include('blog.urls')),
    ]
  1. Siri Django 2.x:

Versi Django 2.x memperkenalkan beberapa perubahan penting dan ciri baharu untuk menyesuaikan diri dengan lebih baik kepada keperluan pembangunan web moden. Berikut ialah beberapa ciri utama dan contoh kod versi ini:

  • Tetapan projek: Django 2.x mengekalkan fail settings.py yang serupa tetapi memperkenalkan backend pangkalan data baharu seperti PostgreSQL sebagai tetapan lalai. Berikut ialah contoh settings.py yang mudah:

    DATABASES = {
       'default': {
          'ENGINE': 'django.db.backends.postgresql',
          'NAME': 'mydatabase',
          'USER': 'myuser',
          'PASSWORD': 'mypassword',
          'HOST': 'localhost',
          'PORT': '5432',
       }
    }
    
    INSTALLED_APPS = [
       'django.contrib.admin',
       'django.contrib.auth',
       'django.contrib.contenttypes',
       'django.contrib.sessions',
       'django.contrib.messages',
       'django.contrib.staticfiles',
       'blog',
    ]
  • Konfigurasi URL: Django 2.x mengekalkan struktur fail urls.py yang serupa, tetapi memperkenalkan fungsi path() untuk menggantikan fungsi url() lama, menjadikan kod lebih Boleh dibaca dan ringkas. Berikut ialah contoh urls.py mudah:

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
       path('admin/', admin.site.urls),
       path('blog/', include('blog.urls')),
    ]
  1. Siri Django 3.x:

Siri Django 3.x ialah versi stabil terkini pada masa ini, memperkenalkan beberapa perubahan dan peningkatan penting. Berikut ialah beberapa ciri utama dan contoh kod versi ini:

  • Tetapan projek: Django 3.x mengekalkan struktur fail settings.py yang serupa, tetapi pengumpulan sambungan pangkalan data dihidupkan secara lalai, meningkatkan prestasi sambungan pangkalan data. Berikut ialah contoh settings.py yang mudah:

    DATABASES = {
       'default': {
          'ENGINE': 'django.db.backends.postgresql',
          'NAME': 'mydatabase',
          'USER': 'myuser',
          'PASSWORD': 'mypassword',
          'HOST': 'localhost',
          'PORT': '5432',
          'CONN_MAX_AGE': 600,  # 设置连接池最大寿命为10分钟
       }
    }
    
    INSTALLED_APPS = [
       'django.contrib.admin',
       'django.contrib.auth',
       'django.contrib.contenttypes',
       'django.contrib.sessions',
       'django.contrib.messages',
       'django.contrib.staticfiles',
       'blog',
    ]
  • Konfigurasi URL: Django 3.x mengekalkan struktur fail urls.py yang serupa dan memperkenalkan beberapa ciri baharu, seperti sokongan untuk anotasi jenis parameter laluan. Berikut ialah contoh urls.py mudah:

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
       path('admin/', admin.site.urls),
       path('blog/<int:id>/', include('blog.urls')),
    ]

Ringkasan:

Versi Django yang berbeza mempunyai peningkatan dan peningkatan dalam fungsi dan prestasi. Jika anda sedang membangunkan projek baharu dari awal, adalah disyorkan untuk memilih versi stabil terkini 3.x untuk menikmati prestasi yang lebih baik dan lebih banyak ciri baharu. Untuk projek yang sudah menggunakan versi lama, anda boleh berhijrah secara beransur-ansur ke versi yang lebih baharu dan membuat pelarasan yang sepadan.

Di atas ialah beberapa perbezaan utama dan contoh kod untuk versi Django 1.x, 2.x dan 3.x. Dengan mempelajari perbezaan antara versi ini, pembangun boleh lebih memahami sejarah pembangunan rangka kerja Django dan memilih versi yang sesuai mengikut keperluan mereka. Tidak kira versi yang anda pilih, Django menyediakan alatan yang cekap dan berkuasa untuk membina aplikasi web yang hebat.

Atas ialah kandungan terperinci Perbandingan versi Django: Apakah perbezaan antara 1.x, 2.x dan 3.x?. 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