Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Jika Anda telah membuat portofolio atau aplikasi prototipe dengan Django, menghostingnya secara gratis di Vercel hanya dengan beberapa klik dan potongan kecil kode. Heroku pernah menjadi penyelamat, tetapi berhenti menawarkan hosting gratis pada tahun 2022.

Dengan menggunakan Vercel, Anda dapat menerapkan aplikasi langsung dari GitHub secara gratis, dan siapa saja dapat mengaksesnya dari mana saja. Inilah cara melakukannya.

Konfigurasi Aplikasi Django Anda untuk Vercel

Anda harus mengonfigurasi beberapa aspek dari proyek Django Anda sebelum Anda dapat menyebarkannya ke Vercel.

Konfigurasi File vercel.json

Pertama, Anda perlu membuat file vercel.json di folder root proyek Anda untuk mengarahkan Vercel ke antarmuka gateway server web (WSGI) aplikasi Anda:

{
"membangun": [
{
"src": "django_app_name/wsgi.py",
"gunakan": "@vercel/python"
}
],
"rute": [
{
"src": "/(.*)",
"dest": "django_app_name/wsgi.py"
}
]
}
instagram viewer

Mengganti django_app_name dengan nama aplikasi Django Anda (sama dengan folder yang berisi pengaturan.py mengajukan).

Refaktor File wsgi.py

Vercel tidak mengenali aplikasi variabel dalam file wsgi.py. Untungnya, satu-satunya perubahan yang akan Anda lakukan untuk menyelesaikan masalah ini adalah melewati aplikasi variabel ke dalam Vercel as aplikasi.

Jadi refactor aplikasi Anda wsgi.py berkas seperti yang ditunjukkan:

impor os
dari django.core.wsgi impor get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_blog.pengaturan")
aplikasi = get_wsgi_application()
aplikasi = aplikasi

Sambungkan ke Database Jarak Jauh

Jika aplikasi Anda memerlukan dukungan database, gunakan ketentuan Vercel atau jalankan instance database eksternal di suatu tempat. Syukurlah, ada banyak basis data PostgreSQL gratis pilihan daring. Anda juga bisa terhubung ke cluster MongoDB jika Anda lebih suka database NoSQL.

Namun, kami akan tetap menggunakan klaster database PostgreSQL Railway di sini karena ia menawarkan kredit awal dan mudah disiapkan.

Untuk menyiapkan instance PostgreSQL di Railway:

  1. Mengunjungi Kereta api situs web untuk membuat akun.
  2. Klik Mulai Proyek Baru.
  3. Pilih Penyediaan PostgreSQL.
  4. Klik Postgres banner untuk melihat variabel database dan string koneksi Anda.
  5. Pergi ke Variabel tab. Kemudian salin dan tempel DATABASE_URL string ke editor teks untuk memformatnya. Pastikan Anda mengganti placeholder di DATABASE_URL string dengan nilai variabel yang sesuai.
  6. Salin variabel yang tersisa dan atur basis data Anda di Django Anda pengaturan.py berkas, seperti yang ditunjukkan di bawah ini. Ingatlah untuk mengganti nama variabel dengan nilai yang sesuai seperti yang disediakan oleh Railway.
    DATABASE = {
    'bawaan': {
    'MESIN': 'django.db.backends.postgresql',
    'URL': 'DATABASE_URL',
    'NAMA': 'PGDATABASE',
    'PENGGUNA': 'PGUSER',
    'KATA SANDI': 'PGPASSWORD',
    'TUAN RUMAH': 'PGHOST',
    'PELABUHAN': PGPORT,
    }
    }

Mempertimbangkan menutupi variabel rahasia ini menggunakan sebuah .env file untuk memperkuat keamanan aplikasi Django Anda. Selain itu, Vercel memungkinkan Anda membuat daftar variabel lingkungan Anda selama penerapan.

Jadi setelah Anda menggunakan os.getenv metode, Python mengambil variabel tertentu dari lingkungan hosting Vercel. Dengan demikian, pengaturan basis data Anda menjadi:

DATABASE = {
'bawaan': {
'MESIN': 'django.db.backends.postgresql',
'URL': os.getenv('POSTGRES_URL'),
'NAMA': os.getenv('PGNAME'),
'PENGGUNA': os.getenv('PGUSER'),
'KATA SANDI': os.getenv('POSTGRES_PASSWORD'),
'TUAN RUMAH': os.getenv('PGHOST'),
'PELABUHAN': os.getenv('PGPORT),
}
}

Terapkan Repositori GitHub Anda di Vercel

Bagian kedua dari proses ini melibatkan mengarahkan Vercel ke repositori Anda di GitHub. Setelah Anda melakukannya, aplikasi Anda akan aktif, dan siapa pun dapat mengakses situs web Anda di URL yang dihasilkan Vercel.

Buat File Persyaratan

Vercel mencoba menemukan dan menginstal dependensi proyek Anda di dalam persyaratan.txt file selama penyebaran. Namun, ingat bahwa menulis dependensi dari a lingkungan maya ke dalam persyaratan.txt selalu lebih mudah daripada dari ruang global.

Buat file requirements.txt di folder root proyek Anda menggunakan perintah berikut melalui terminal:

pip freeze > requirements.txt

Hubungkan Repositori Anda ke Vercel

Vercel bekerja dengan melacak perubahan dalam repositori. Jadi langkah penerapan pertama adalah dorong kode Anda ke GitHub atau sistem kontrol versi lainnya yang paling cocok untuk Anda. Abaikan langkah ini jika kode Anda sudah ada di GitHub.

Untuk memulai di Vercel:

  1. Daftar di situs Versel menggunakan akun GitHub Anda. Ikuti petunjuk di layar untuk menyelesaikan pendaftaran akun untuk memulai.
  2. Selanjutnya, pilih opsi akun Hobi untuk menggunakan Vercel secara gratis.
  3. Setelah masuk, klik Tambah baru. Lalu klik Proyek.
  4. Selanjutnya, klik Tambahkan Akun GitHub dari Impor Repositori Git bagian. Atau Anda bisa klik Ganti Penyedia Git jika Anda menggunakan kontrol versi lain selain GitHub.
  5. Klik Semua repositori. Lalu klik Install.
  6. Pilih akun GitHub Anda dari daftar.
  7. Vercel akan secara otomatis mendeteksi repositori Anda. Klik Impor di sebelah kanan yang menyandang proyek Django Anda.
  8. Klik Variabel Lingkungan dropdown untuk mencantumkan variabel lingkungan Anda di Vercel. Ini dapat mencakup kunci rahasia aplikasi Anda dan string koneksi database. Isi Nama bidang dengan nama variabel. Kemudian masukkan nilainya ke dalam Nilai bidang.
  9. Klik Menambahkan untuk membuat bidang baru dan menambahkan variabel lingkungan lainnya.
  10. Terakhir, klik Menyebarkan. Aplikasi Anda akan aktif dalam beberapa saat. Klik URL di sebelah kanan ikon web untuk mengunjungi situs web baru Anda.

Setelah digunakan, Vercel melacak perubahan selanjutnya yang didorong ke cabang utama untuk mencerminkannya dalam versi langsung. Oleh karena itu, Anda hanya perlu menerapkan perubahan Anda ke GitHub untuk memperbarui aplikasi Anda secara real-time.

Sementara Vercel secara otomatis menghasilkan URL untuk situs web Django Anda, Anda juga dapat menerapkan menggunakan nama domain terkustomisasi. Jadi pertimbangkan membeli nama domain dari registrar jika Anda membutuhkannya.

Host Situs Web Django Anda Tanpa Biaya

Terkadang, dibutuhkan lebih dari sekadar repositori GitHub untuk mengesankan pemberi kerja dan klien potensial. Sementara repositori yang kuat dan koheren menunjukkan kompetensi Anda, menampilkan versi langsung dari portofolio atau prototipe proyek Anda menampilkan Anda sebagai orang yang berprestasi.

Hosting proyek yang tidak menghasilkan pendapatan seringkali mengecewakan. Tapi untungnya, Vercel adalah salah satu dari sedikit layanan hosting web gratis. Dan Anda telah melihat bagaimana menerapkan proyek Django Anda secara gratis di platform. Meskipun URL yang dihasilkan terlihat tidak rapi, Anda dapat menempelkannya ke ReadMe proyek Anda di GitHub untuk menunjukkan kepada orang-orang cara kerja kreasi Anda.