Mặc dù việc nhân bản có vẻ dễ dàng nhưng nó có thể là thách thức với các dự án được xây dựng bằng Django. Django có nhiều gói và gói phụ thuộc gây xung đột khi chưa cài đặt.
Bạn phải khắc phục xung đột trước khi dự án có thể chạy trên máy cục bộ của bạn.
Trong hướng dẫn dưới đây, bạn sẽ tìm hiểu cách sao chép, thiết lập và chạy dự án Django của mình với ít xung đột nhất.
Bạn sẽ cần những gì?
Để tận dụng tối đa hướng dẫn này, bạn nên có:
- Python (Python3 trở lên)
- Kinh nghiệm làm việc về Thư viện Python-Django
- Pip3
- Làm quen với môi trường ảo Python
- Kiến thức cơ bản về Git và GitHub
- Tài khoản GitHub
- Kinh nghiệm làm việc với dòng lệnh
Giờ thì bạn đã sẵn sàng sao chép một dự án.
1. Sao chép dự án từ GitHub
Bạn có thể sao chép một dự án mẫu từ GitHub và định cấu hình nó trên máy tính cục bộ của mình.
Để sao chép dự án, hãy nhấp vào nút màu xanh lá cây có nhãn Code. Trên danh sách thả xuống, chọn và sao chép liên kết HTTP hoặc SSH. Các đường link này là URL GitHub cho dự án. Bạn có thể chọn bất cứ đường link nào trong số này.
Khi bạn muốn đóng góp cho một dự án nguồn mở bằng Git, trước tiên bạn sẽ phải fork (phân nhánh) dự án đó khỏi kho lưu trữ của dự án để tạo một bản sao trước khi nhân bản.
Quay lại máy tinhs của bạn, thiết lập thư mục có tên clone_boma. Hãy nhớ điều hướng vào thư mục bằng lệnh cd clone_boma.
Tiếp theo, chạy lệnh sau để sao chép dự án vào thư mục.
git clone <repository-url>
Vì vậy, để sao chép dự án mẫu qua HTTP, hãy sử dụng lệnh này:
git clone https://github.com/Dindihub/Boma-watch.git
2. Kiểm tra tệp dự án
Sau khi nhân bản, sử dụng lệnh ls để kiểm tra sự hiện diện của các tệp từ dự án Boma-watch. Nhập ls để liệt kê tất cả nội dung trong thư mục.
Bạn có thể sử dụng trình soạn thảo văn bản mà bạn chọn để kiểm tra nội dung của từng tệp hoặc xem chúng trên trang web GitHub.
3. Thiết lập môi trường ảo
Bạn cần thiết lập môi trường ảo cho dự án. Dự án mẫu đi kèm với môi trường Pipenv chỉ định các phần phụ thuộc của dự án trong hai tệp: Pipfile và Pipfile.lock.
Bạn sẽ gặp phải lỗi này nếu chạy dự án với Pipfile cũ:
ModuleNotFoundError: Không có mô-đun nào có tên ‘distutils.core’
Bạn cần xóa môi trường ảo và cài đặt lại. Để xóa môi trường ảo và các phần phụ thuộc của nó, hãy chạy liên tiếp các lệnh sau.
Để xóa môi trường cũ:
pipenv --rm
Để xóa cả Pipfiles:
rm Pipfile*
Để cài đặt các phụ thuộc Pipenv trên phiên bản python của bạn:
pipenv install --python 3.10
Tiếp theo, chạy lệnh sau để cài đặt tất cả các gói Pipfiles:
pipenv install requests
Sau đó kích hoạt môi trường ảo:
pipenv shell
Bạn sẽ thấy môi trường ảo được kích hoạt ở bên phải cửa sổ terminal của bạn.
Nếu bạn đang sử dụng Venv để tạo môi trường ảo của mình, hãy chạy lệnh sau để cài đặt các phần phụ thuộc:
pip install -r requirements.txt
Để liệt kê tất cả các phụ thuộc đã cài đặt:
pip freeze > requirements.txt
4. Tạo cơ sở dữ liệu
Bạn cần cài đặt cơ sở dữ liệu để xử lý dữ liệu dự án. Bạn có thể chọn bất kỳ loại cơ sở dữ liệu nào phù hợp với nhu cầu của bạn. Đối với dự án mẫu, bạn nên sử dụng PostgresSQL.
Tìm hiểu cách cài đặt PostgreSQL trên Ubuntu hoặc cài đặt PostgreSQL trên Windows .
Sau khi tất cả đã được thiết lập, hãy khởi động shell Postgres bằng các lệnh sau:
sudo -i -u postgres
psql
Sau đó tạo cơ sở dữ liệu có tên new_boma trên máy chủ:
postgres=# create database new_boma;
Máy chủ trả về từ CREATE DATABASE khi tạo cơ sở dữ liệu. Xác nhận rằng cơ sở dữ liệu tồn tại bằng cách liệt kê tất cả cơ sở dữ liệu trong hệ thống bằng lệnh \l:
Trong settings.py, bạn cần kết nối cơ sở dữ liệu với ứng dụng. Thực hiện việc này bằng cách thay thế người dùng, tên và mật khẩu cơ sở dữ liệu bằng các giá trị cục bộ của riêng bạn:
#......
DATABASES = {
'default': {
'ENGINE':'django.db.backends.postgresql',
'NAME':'new_boma',
'USER':'postgres',
'PASSWORD':'password',
}
}
Ngoài ra, hãy nhớ thay đổi TIME_ZONE trong tệp settings.py cho phù hợp với vị trí của bạn để giữ cho ứng dụng của bạn được cập nhật.
Đảm bảo bạn đã cài đặt Psycopg2 để chứa mọi ảnh có sẵn:
$ pipenv install psycopg2
5. Tạo khóa bí mật
Mỗi dự án Django đều có một khóa bí mật duy nhất. Thông thường, khóa bí mật không bị lộ trực tuyến. Nó phải ở trong tệp env mà bạn nên đưa vào tệp .gitignore để loại trừ khỏi kho lưu trữ.
Bạn phải tạo một cái khóa để dự án của bạn chạy. Tạo khóa bí mật mới bằng trình tạo khóa bí mật, như Djecrety .
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'secret-key-comes-here'
6. Di chuyển dự án sang cơ sở dữ liệu
Chạy lệnh sau để tạo bảng cho ứng dụng trong cơ sở dữ liệu mới:
python manage.py makemigrations app
Sau đó chạy lệnh sau để di chuyển:
python manage.py migrate
Khi bạn chạy lệnh di chuyển python manager.py, bạn có thể gặp lỗi. Các lỗi này đang thông báo cho bạn về các mô-đun bị thiếu. Đảm bảo cài đặt tất cả các mô-đun trước khi di chuyển.
Khi bạn đã cài đặt tất cả các phần phụ thuộc, hãy chạy quá trình di chuyển (migration). Nếu quá trình di chuyển kết thúc, đã đến lúc chạy dự án.
Khi bạn đã cài đặt tất cả các phần phụ thuộc, hãy chạy quá trình di chuyển. Nếu quá trình di chuyển diễn ra thì đã đến lúc chạy dự án.
7. Chạy dự án
Chạy dự án để đảm bảo mọi thứ đều ổn trước khi thêm đóng góp của bạn. Chạy ứng dụng bằng lệnh sau:
python manage.py runserver
Nếu không có lỗi thì mở http://127.0.0.1:8000/ trong trình duyệt web. Bạn sẽ nhìn thấy landing page của dự án như hình dưới đây:
Bí mật để nhân bản một dự án Django
Nhân bản các dự án Django giúp tối ưu hóa thời gian của bạn. Bạn có thể tập trung phát triển các tính năng mới thay vì bắt đầu một dự án từ đầu.
Bí quyết để sao chép và chạy dự án Django trên máy cục bộ là biết cách xử lý các phần phụ thuộc. Sau khi sao chép, hãy đảm bảo bạn tạo môi trường ảo mới, cài đặt các phần phụ thuộc và kết nối với hệ thống cơ sở dữ liệu đáng tin cậy.
Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX ở đây:
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/django-project-clone-run-locally/












Bình luận (0
)