Nếu bạn đã xây dựng một danh mục đầu tư hoặc ứng dụng nguyên mẫu với Django, thì việc lưu trữ nó miễn phí trên Vercel chỉ là một vài cú nhấp chuột và một đoạn mã nhỏ. Heroku từng là cứu cánh, nhưng nó đã ngừng cung cấp dịch vụ lưu trữ miễn phí vào năm 2022.
Sử dụng Vercel, bạn có thể triển khai ứng dụng của mình trực tiếp miễn phí từ GitHub và bất kỳ ai cũng có thể truy cập ứng dụng đó từ mọi nơi. Đây là cách để đi về nó.
Định cấu hình ứng dụng Django của bạn cho Vercel
Bạn sẽ cần định cấu hình một vài khía cạnh của dự án Django trước khi có thể triển khai nó lên Vercel.
Định cấu hình tệp vercel.json
Trước tiên, bạn cần tạo tệp vercel.json trong thư mục gốc của dự án để trỏ Vercel tới giao diện cổng máy chủ web của ứng dụng (WSGI):
{
"builds": [
{
"src": "django_app_name/wsgi.py",
"use": "@vercel/python"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "django_app_name/wsgi.py"
}
]
}
Thay thế django_app_name với tên ứng dụng Django của bạn (giống như thư mục chứa cài đặt.py tài liệu).
Cấu trúc lại tệp wsgi.py
Vercel không nhận ra đăng kí biến trong tệp wsgi.py. Rất may, thay đổi duy nhất bạn sẽ thực hiện để giải quyết vấn đề này là vượt qua đăng kí biến thành Vercel như ứng dụng.
Vì vậy, hãy cấu trúc lại ứng dụng của bạn wsgi.py tập tin như được hiển thị:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_blog.settings")
application = get_wsgi_application()
app = application
Kết nối với cơ sở dữ liệu từ xa
Nếu ứng dụng của bạn cần hỗ trợ cơ sở dữ liệu, hãy sử dụng điều khoản của Vercel hoặc tạo một phiên bản cơ sở dữ liệu bên ngoài ở đâu đó. Rất may, có nhiều tùy chọn cơ sở dữ liệu PostgreSQL miễn phí trực tuyến. Bạn cũng có thể kết nối với cụm MongoDB nếu bạn thích cơ sở dữ liệu NoSQL hơn.
Tuy nhiên, chúng tôi sẽ sử dụng cụm cơ sở dữ liệu PostgreSQL của Đường sắt tại đây vì nó cung cấp tín dụng khởi đầu và dễ thiết lập.
Để thiết lập phiên bản PostgreSQL trên Đường sắt:
- Truy cập trang web Đường sắt để tạo một tài khoản.
- Nhấp chuột Bắt đầu một dự án mới.
- Lựa chọn Cung cấp PostgreSQL.
- Nhấn vào postgres biểu ngữ để xem các biến cơ sở dữ liệu và chuỗi kết nối của bạn.
- đi đến Biến chuyển hướng. Sau đó sao chép và dán DATABASE_URL string vào một trình soạn thảo văn bản để định dạng nó. Đảm bảo bạn thay thế các trình giữ chỗ trong DATABASE_URL chuỗi với các giá trị biến thích hợp.
- Sao chép các biến còn lại và thiết lập cơ sở dữ liệu của bạn trong Django của bạn cài đặt.py tập tin, như hình dưới đây. Hãy nhớ thay thế các tên biến bằng các giá trị phù hợp do Đường sắt cung cấp.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'URL': 'DATABASE_URL',
'NAME': 'PGDATABASE',
'USER': 'PGUSER',
'PASSWORD': 'PGPASSWORD',
'HOST': 'PGHOST',
'PORT': PGPORT,
}
}
Cân nhắc che dấu các biến bí mật này bằng cách sử dụng .env file để tăng cường bảo mật cho ứng dụng Django của bạn. Ngoài ra, Vercel cho phép bạn liệt kê các biến môi trường của mình trong quá trình triển khai.
Vì vậy, một khi bạn sử dụng os.getenv phương pháp, Python tìm nạp biến được chỉ định từ môi trường lưu trữ Vercel. Do đó, thiết lập cơ sở dữ liệu của bạn trở thành:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'URL': os.getenv('POSTGRES_URL'),
'NAME': os.getenv('PGNAME'),
'USER': os.getenv('PGUSER'),
'PASSWORD': os.getenv('POSTGRES_PASSWORD'),
'HOST': os.getenv('PGHOST'),
'PORT': os.getenv('PGPORT),
}
}
Triển khai Kho lưu trữ GitHub của bạn trên Vercel
Phần thứ hai của quy trình này liên quan đến việc trỏ Vercel tới kho lưu trữ của bạn trên GitHub. Khi bạn đã làm như vậy, ứng dụng của bạn sẽ hoạt động và bất kỳ ai cũng có thể truy cập trang web của bạn tại một URL mà Vercel tạo.
Tạo một tệp yêu cầu
Vercel cố gắng tìm và cài đặt các phụ thuộc của dự án của bạn bên trong yêu cầu.txt tập tin trong quá trình triển khai. Tuy nhiên, hãy nhớ rằng việc viết các phụ thuộc từ môi trường ảo vào yêu cầu.txt luôn dễ dàng hơn từ không gian toàn cầu.
Tạo tệp tests.txt trong thư mục gốc của dự án bằng cách sử dụng lệnh sau thông qua thiết bị đầu cuối:
pip freeze > requirements.txt
Kết nối Kho lưu trữ của bạn với Vercel
Vercel hoạt động bằng cách theo dõi các thay đổi trong kho lưu trữ. Vì vậy, bước triển khai đầu tiên là đẩy mã của bạn lên GitHub hoặc bất kỳ hệ thống kiểm soát phiên bản nào khác phù hợp nhất với bạn. Bỏ qua bước này nếu mã của bạn đã có trên GitHub.
Để bắt đầu trên Vercel:
- Đăng ký trên trang web Vercel bằng tài khoản GitHub của bạn. Thực hiện theo các hướng dẫn trên màn hình để hoàn tất đăng ký tài khoản để bắt đầu.
- Tiếp theo, chọn tùy chọn Tài khoản sở thích để sử dụng Vercel miễn phí.
- Sau khi đăng nhập, nhấp vào Thêm mới. Sau đó nhấn vào Dự án.
- Tiếp theo, nhấp vào Thêm tài khoản GitHub từ Nhập kho lưu trữ Git phần. Hoặc bạn có thể bấm vào Chuyển nhà cung cấp Git nếu bạn sử dụng một điều khiển phiên bản khác ngoài GitHub.
- Nhấp chuột Tất cả các kho lưu trữ. Sau đó nhấn vào Cài đặt.
- Chọn tài khoản GitHub của bạn từ danh sách.
- Vercel sẽ tự động phát hiện kho lưu trữ của bạn. Nhấp chuột Nhập khẩu ở bên phải của cái mang dự án Django của bạn.
- Nhấn vào Biến môi trường menu thả xuống để liệt kê các biến môi trường của bạn trên Vercel. Chúng có thể bao gồm khóa bí mật của ứng dụng và chuỗi kết nối cơ sở dữ liệu. Điền vào Tên trường với tên biến. Sau đó nhập giá trị của nó vào Giá trị cánh đồng.
- Nhấp chuột Thêm vào để tạo một trường mới và thêm các biến môi trường khác.
- Cuối cùng, nhấp vào Triển khai. Ứng dụng của bạn sẽ hoạt động trong một số thời điểm. Nhấp vào URL ở bên phải biểu tượng web để truy cập trang web mới của bạn.
Sau khi được triển khai, Vercel theo dõi các thay đổi tiếp theo được đẩy tới nhánh chính để phản ánh chúng trong phiên bản trực tiếp. Do đó, bạn chỉ cần triển khai các thay đổi của mình lên GitHub để cập nhật ứng dụng của mình theo thời gian thực.
Trong khi Vercel tự động tạo URL cho trang web Django của bạn, bạn cũng có thể triển khai bằng tên miền tùy chỉnh. Vì vậy, hãy xem xét việc mua một tên miền từ một công ty đăng ký tên miền nếu bạn cần.
Lưu trữ trang web Django của bạn miễn phí
Đôi khi, cần nhiều hơn một kho lưu trữ GitHub để gây ấn tượng với các nhà tuyển dụng và khách hàng tiềm năng. Mặc dù kho lưu trữ mạnh mẽ và mạch lạc thể hiện năng lực của bạn, nhưng việc hiển thị phiên bản trực tiếp của danh mục đầu tư hoặc nguyên mẫu dự án của bạn sẽ thể hiện bạn là người thành đạt.
Lưu trữ một dự án không tạo ra doanh thu thường không khuyến khích. Nhưng rất may, Vercel là một trong số ít dịch vụ lưu trữ web miễn phí. Và bạn đã biết cách triển khai miễn phí dự án Django của mình trên nền tảng này. Mặc dù URL được tạo có vẻ lộn xộn, nhưng bạn có thể dán nó vào ReadMe của dự án trên GitHub để cho mọi người thấy tác phẩm của bạn hoạt động như thế nào.