Pelajari cara mengaktifkan mode pemeliharaan secara efektif pada aplikasi Django Anda sambil memastikan pengalaman mulus bagi pengguna Anda.

Menempatkan aplikasi Django Anda dalam mode pemeliharaan sangat penting saat melakukan pembaruan, menyelesaikan masalah teknis, atau membuat perubahan signifikan pada aplikasi Anda.

Dengan membatasi sementara akses pengguna dan menampilkan halaman pemeliharaan, Anda dapat mengomunikasikan pesan-pesan penting, memastikan kelancaran proses pembaruan, dan mencegah potensi konflik atau kehilangan data.

Apakah Anda seorang pengembang atau administrator sistem, memahami bagaimana menerapkan mode pemeliharaan di Django akan memungkinkan Anda memelihara aplikasi yang andal dan mudah digunakan.

Cara Menggunakan Paket Django-Maintenance-Mode

Karena dukungan komunitasnya yang ekstensif, Django menawarkan kisaran luas paket yang dapat meningkatkan proses pengembangan Anda secara signifikan, memungkinkan pekerjaan lebih cepat dan lebih efisien. Paket-paket ini meringankan beban tugas berulang, memastikan pengalaman yang lebih lancar bagi Anda sebagai pengembang.

instagram viewer

Salah satu paket yang disediakan oleh Django adalah django-maintenance-mode paket yang dapat Anda gunakan untuk menempatkan aplikasi Django Anda dalam mode pemeliharaan. Itu django-maintenance-mode paket bekerja dengan menampilkan halaman untuk 503Kode status HTTP. Anda dapat gunakan django-maintenance-mode di aplikasi Anda dengan langkah-langkah berikut.

Langkah 1: Instal Django-Maintenance-Mode di Lingkungan Virtual Anda

  1. Di Anda lingkungan virtual proyek, instal paket dengan manajer paket pip Python. Jalankan perintah ini di Anda antarmuka baris perintah (CLI):
    pip install Django-maintenance-mode
  2. Setelah menginstal paket, tambahkan mode_pemeliharaan ke INSTALLED_APPS daftar di Anda pengaturan.py mengajukan:
    INSTALLED_APPS = [
    # beberapa aplikasi lain,
    'mode_pemeliharaan',
    ]
  3. Selanjutnya, tambahkan middleware untuk django-maintenance-mode ke PERANGKAT TENGAH daftar di Anda pengaturan.py mengajukan:
    PERANGKAT TENGAH = [
    # beberapa middleware lain oleh Django,
    'maintenance_mode.middleware. MaintenanceModeMiddleware',
    ]

Langkah 2: Buat Template HTML untuk Menampilkan Pesan Mode Pemeliharaan

Untuk django-maintenance-mode paket untuk menampilkan halaman kesalahan 503, ia mencari a 503.html file template di template direktori. Untuk mengatur ini, lakukan hal berikut:

  1. Buat folder bernama template di direktori root Anda.
  2. Buka yang baru Anda buat template folder dan buat file bernama 503.html.
  3. Di Anda pengaturan.py file, cari file TEMPLAT pengaturan dan mengkonfigurasi DIRS daftar di dalamnya seperti ini:
    'DIRS': [BASE_DIR/'templat'],
  4. Bukalah 503.html file dan tulis kode HTML untuk menampilkan pesan kesalahan kepada pengguna Anda. Berikut kode sederhana yang dapat Anda gunakan:
    html>
    <html>
    <kepala>
    <metacharset="UTF-8">
    <judul>503 Layanan tidak tersediajudul>
    <gaya>
    tubuh {
    font-family: Arial, sans-serif;
    warna latar belakang: #f5f5f5;
    margin: 0;
    bantalan: 0;
    }

    .wadah-503 {
    max-width: 600px;
    margin: 100px otomatis;
    perataan teks: tengah;
    }

    h1 {
    ukuran font: 48px;
    warna: #333333;
    margin-bawah: 20px;
    }

    P {
    ukuran font: 18px;
    warna: #666666;
    margin-bawah: 30px;
    }

    .btn-503 {
    tampilan: blok-sebaris;
    padding: 12px 24px;
    background-color: #007bff;
    warna: #ffffff;
    dekorasi teks: tidak ada;
    border-radius: 4px;
    ukuran font: 18px;
    }
    gaya>
    kepala>
    <tubuh>
    <divkelas = "wadah-503">
    <h1>503 Layanan tidak tersediah1>
    <P>
    Ups! Kami sedang mengerjakan beberapa pembaruan.
    Kami mohon maaf atas ketidaknyamanan ini dan menghargai kesabaran Anda.
    P>
    <P>Silakan kunjungi situs web nanti atau hubungi tim dukungan kamiP>
    <Ahref = "mailto: [email protected]"kelas = "btn-503">
    Hubungi dukungan
    A>
    div>
    tubuh>
    html>

Langkah 3: Nyalakan Mode Perawatan dan Nyalakan Ulang Server Anda

Di Anda pengaturan.py file, tambahkan kode ini untuk mengaktifkan mode pemeliharaan:

MAINTENANCE_MODE = BENAR

Mulai ulang server pengembangan Anda dengan menjalankan ini ke CLI Anda:

python mengelola.py runserver

Saat Anda menavigasi ke situs web Anda, Anda akan melihat halaman pemeliharaan yang Anda buat.

Cara Mengabaikan Situs Admin dalam Mode Pemeliharaan Django

Agar situs admin Anda tetap berfungsi bahkan dalam mode pemeliharaan, the django-maintenance-mode menyediakan pengaturan yang disebut MAINTENANCE_MODE_IGNORE_ADMIN_SITE. Anda harus menambahkan pengaturan ini di pengaturan.py file dan atur ke BENAR:

MAINTENANCE_MODE_IGNORE_ADMIN_SITE = BENAR

Nilai default dari pengaturan di atas adalah PALSU; karenanya situs admin Anda akan terpengaruh oleh halaman mode pemeliharaan jika Anda tidak mengaturnya BENAR.

Cara Mengabaikan Tampilan Berbasis Fungsi Tertentu dalam Mode Pemeliharaan Django

Itu django-maintenence-mode package menyediakan dekorator untuk mencegah tampilan atau halaman tertentu—seperti Tentang halaman situs Anda—dari masuk ke mode pemeliharaan. Untuk melakukan ini, pertama-tama impor dekorator ke file Anda views.py modul:

dari maintenance_mode.decorators impor force_maintenance_mode_off

Setelah mengimpor dekorator, tambahkan ke tampilan Anda seperti ini:

@force_maintenance_mode_off
defview_name(meminta):
# melakukan logika tampilan
# tidak pernah mengembalikan 503 respons

Setelah menerapkan dekorator dengan benar, URL untuk tampilan spesifik tersebut akan dapat diakses oleh pengguna Anda.

Cara Mengabaikan Tampilan Berbasis Kelas Tertentu dalam Mode Pemeliharaan Django

Mengabaikan tampilan berbasis kelas mirip dengan mengabaikan tampilan berbasis fungsi. Namun, pendekatan terbaik adalah melakukannya di urls.py mengajukan.

Pertama, Anda perlu mengimpor file force_maintenance_mode_off dekorator di aplikasi Anda urls.py mengajukan. Maka Anda perlu memasukkannya ke jalur URL Anda. Berikut contohnya:

dari maintenance_mode.decorators impor force_maintenance_mode_off
dari .view impor Pandangan Anda

pola url = [
# tidak pernah mengembalikan 503 respons
jalur('', force_maintenance_mode_off (YourView.as_view()), nama='pandangan ku'),
]

Pastikan Anda juga mengimpor hal-hal lain yang diperlukan seperti jalur dan tampilan berbasis kelas Anda.

Cara Mengaktifkan Mode Perawatan untuk Tampilan Berbasis Fungsi Tertentu

  1. Untuk mengaktifkan mode pemeliharaan untuk satu tampilan, pertama-tama, matikan mode pemeliharaan di pengaturan.py file dengan melakukan ini:
    MAINTENANCE_MODE = PALSU
  2. Selanjutnya, di Anda tampilan.py, Anda harus mengimpor force_maintenance_mode_on dekorator dan tambahkan ke tampilan Anda:
    dari maintenance_mode.decorators impor force_maintenance_mode_on

    @force_maintenance_mode_on
    defview_name(meminta):
    # Lakukan logika tampilan
    # Selalu kembalikan respons 503

Cara Mengaktifkan Mode Perawatan untuk Tampilan Berbasis Kelas Tertentu

  1. Pertama, Anda harus mematikan mode pemeliharaan di pengaturan.py mengajukan:
    MAINTENANCE_MODE = PALSU
  2. Selanjutnya, di Anda urls.py, Anda harus mengimpor force_maintenance_mode_on dekorator dan tambahkan ke jalur URL yang diperlukan:
    dari maintenance_mode.decorators impor force_maintenance_mode_on
    dari .view impor Pandangan Anda

    pola url = [
    # Selalu kembalikan respons 503
    jalur('', force_maintenance_mode_on (YourView.as_view()), nama='pandangan ku'),
    ]

Cara Menggunakan Nama Templat Berbeda untuk Mode Pemeliharaan Django

Secara default, django-maintenance-mode paket mencari a template/503.html templat. Anda dapat memutuskan untuk mengesampingkan ini di pengaturan.py mengajukan.

Misalkan Anda memiliki folder terpisah untuk menangani error di aplikasi Anda; Anda akan ingin menyertakan Anda 503.html templat di folder ini. Jadi template Anda akan masuk template/errors/503.html.

Pengaturan default untuk konfigurasi ini adalah ini:

MAINTENANCE_MODE_TEMPLATE = "503.html"

Untuk menimpanya, Anda harus menambahkan jalur berbeda yang menunjuk ke halaman kesalahan Anda. Berikut contohnya:

MAINTENANCE_MODE_TEMPLATE = "kesalahan/503.html"

Anda juga dapat mengubah nama file jika diinginkan, dan semuanya akan berfungsi dengan baik jika Anda menambahkan konfigurasi yang diperlukan.

Selain konfigurasi di atas, django-maintenance-mode package menyediakan konfigurasi menarik lainnya untuk membantu Anda menyesuaikan mode pemeliharaan aplikasi sesuai kebutuhan spesifik Anda. Anda dapat membaca tentang konfigurasi ini di dokumentasi django-maintenance-mode.

Gunakan Mode Pemeliharaan untuk Memastikan Pembaruan yang Mulus dan Pengalaman Pengguna yang Disempurnakan di Aplikasi Anda

Memanfaatkan mode pemeliharaan di aplikasi Anda dapat mempermudah Anda dan pengguna Anda. Dengan menonaktifkan sementara akses ke semua atau sebagian aplikasi Anda selama pembaruan atau tugas pemeliharaan, Anda dapat meminimalkan gangguan dan kesalahan yang mungkin timbul dari interaksi pengguna secara bersamaan.

Menggunakan mode pemeliharaan tidak hanya memungkinkan Anda melakukan pembaruan yang diperlukan secara efisien, tetapi juga menunjukkan komitmen untuk memberikan pengalaman yang lancar dan tanpa gangguan bagi pengguna Anda.

Terlepas dari mode pemeliharaan, Anda juga dapat menyediakan cetakan khusus untuk kesalahan lainnya di Django.