Cara Menempatkan Aplikasi Django Anda dalam Mode Pemeliharaan
Table of content:
- Cara Menggunakan Paket Django-Maintenance-Mode
- Cara Mengabaikan Situs Admin dalam Mode Pemeliharaan Django
- Cara Mengabaikan Tampilan Berbasis Fungsi Tertentu dalam Mode Pemeliharaan Django
- Cara Mengabaikan Tampilan Berbasis Kelas Tertentu dalam Mode Pemeliharaan Django
- Cara Mengaktifkan Mode Perawatan untuk Tampilan Berbasis Fungsi Tertentu
- Cara Mengaktifkan Mode Perawatan untuk Tampilan Berbasis Kelas Tertentu
- Cara Menggunakan Nama Templat Berbeda untuk Mode Pemeliharaan Django
- Gunakan Mode Pemeliharaan untuk Memastikan Pembaruan yang Mulus dan Pengalaman Pengguna yang Disempurnakan di Aplikasi 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.
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 503 Kode 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
- Di lingkungan virtual proyek Anda, instal paket dengan manajer paket pip Python. Jalankan perintah ini di antarmuka baris perintah Anda (CLI):
pip install django-maintenance-mode
- Setelah menginstal paket, tambahkan mode_pemeliharaan ke INSTALLED_APPS daftar di Anda pengaturan.py mengajukan:
INSTALLED_APPS = [
'maintenance_mode',
] - Selanjutnya, tambahkan middleware untuk django-maintenance-mode ke PERANGKAT TENGAH daftar di Anda pengaturan.py mengajukan:
MIDDLEWARE = [
'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:
- Buat folder bernama template di direktori root Anda.
- Buka yang baru Anda buat template folder dan buat file bernama 503.html.
- Di Anda pengaturan.py file, cari file TEMPLAT pengaturan dan mengkonfigurasi DIRS daftar di dalamnya seperti ini:
'DIRS': [BASE_DIR/'templates'],
- Bukalah 503.html file dan tulis kode HTML untuk menampilkan pesan kesalahan kepada pengguna Anda. Berikut kode sederhana yang dapat Anda gunakan:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>503 Service Unavailable</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f5f5f5;
margin: 0;
padding: 0;
}
.container-503 {
max-width: 600px;
margin: 100px auto;
text-align: center;
}
h1 {
font-size: 48px;
color: #333333;
margin-bottom: 20px;
}
p {
font-size: 18px;
color: #666666;
margin-bottom: 30px;
}
.btn-503 {
display: inline-block;
padding: 12px 24px;
background-color: #007bff;
color: #ffffff;
text-decoration: none;
border-radius: 4px;
font-size: 18px;
}
</style>
</head>
<body>
<div class = "container-503">
<h1>503 Service Unavailable</h1>
<p>
Oops! We are currently working on some updates.
We apologize for the inconvenience and appreciate your patience.
</p>
<p>Please visit the website later or contact our support team</p>
<a href = "mailto:support@yourcompanymail.com" class = "btn-503">
Contact support
</a>
</div>
</body>
</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 = True
Mulai ulang server pengembangan Anda dengan menjalankan ini ke CLI Anda:
python manage.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 = True
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:
from maintenance_mode.decorators import force_maintenance_mode_off
Setelah mengimpor dekorator, tambahkan ke tampilan Anda seperti ini:
@force_maintenance_mode_off
def view_name(request):
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:
from maintenance_mode.decorators import force_maintenance_mode_off
from .views import YourViewurlpatterns = [
path('', force_maintenance_mode_off(YourView.as_view()), name='my_view'),
]
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
- Untuk mengaktifkan mode pemeliharaan untuk satu tampilan, pertama-tama, matikan mode pemeliharaan di pengaturan.py file dengan melakukan ini:
MAINTENANCE_MODE = False
- Selanjutnya, di Anda tampilan.py, Anda harus mengimpor force_maintenance_mode_on dekorator dan tambahkan ke tampilan Anda:
from maintenance_mode.decorators import force_maintenance_mode_on
@force_maintenance_mode_on
def view_name(request):
Cara Mengaktifkan Mode Perawatan untuk Tampilan Berbasis Kelas Tertentu
- Pertama, Anda harus mematikan mode pemeliharaan di pengaturan.py mengajukan:
MAINTENANCE_MODE = False
- Selanjutnya, di Anda urls.pyAnda harus mengimpor force_maintenance_mode_on dekorator dan tambahkan ke jalur URL yang diperlukan:
from maintenance_mode.decorators import force_maintenance_mode_on
from .views import YourViewurlpatterns = [
path('', force_maintenance_mode_on(YourView.as_view()), name='my_view'),
]
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 = "errors/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.