Bắt đầu dự án mới với Django
Cài đặt thư viện Django
-
Trước tiên bạn nên tham khảo bài viết này để tạo môi trường Python ảo tách biệt cho dự án của bạn.
-
Cài đặt thư viện Django phiên bản mới nhất thông qua lệnh
pip install Django
-
Note:
- Bạn có thể truy cập https://pypi.org/project/Django/ để tìm phiên bản phù hợp với bạn
- Bạn nên tạo file
requirements.txt
và thêm vào đóDjango==<số phiên bản
để tiện chia sẻ và đồng bộ môi trường với đồng nghiệp của mình nhé.
Tạo dự án mới
-
Sau khi cài đặt thư viện bạn tạo dự án mới bằng lệnh
django-admin startproject <tên dự án>
Ví dụ ở đây mình sẽ tạo dự án tên
my_tennis_club
-
Sau khi chạy xong lệnh, bạn sẽ nhận được dự án với cấu trúc
my_tennis_club/ manage.py my_tennis_club/ __init__.py asgi.py settings.py urls.py wsgi.py
-
Ở đây mình sẽ giải thích một ít về các file và package do Django khi tạo ra:
- Thư mục gốc
my_tennis_club/
manage.py
- Là công cụ dòng lệnh chính để tương tác với Django project (chạy server, migrate DB, tạo superuser, v.v.).
Thư mục my_tennis_club/ bên trong (cùng tên với thư mục gốc)
- Đây là thư mục cấu hình chính của dự án Django. Nó chứa các tập tin cài đặt và định nghĩa cho toàn bộ project.
__init__.py
- Biến thư mục này thành Python package.
asgi.py
- Cấu hình để chạy ASGI server (ví dụ: chạy với Daphne hoặc Uvicorn).
- Hỗ trợ các ứng dụng bất đồng bộ (WebSocket, async views).
settings.py
- Tập tin cài đặt chính của project.
- Cấu hình CSDL, middleware, cài đặt ngôn ngữ, timezone...
urls.py
- Nơi định nghĩa các đường dẫn URL chính của project
- Bạn sẽ include các URL từ các app vào đây
wsgi.py
- Cấu hình để chạy WSGI server (ví dụ: chạy với Gunicorn, uWSGI).
- Dành cho môi trường triển khai production.
- Thư mục gốc
-
Mẹo: Để source code trông clear hơn mình thường làm như thế này
- Tạo project với tên là
main
với lệnhdjango-admin startproject main
- Sau đó đổi tên thành
src
- Và thành quả là:
src/ manage.py main/ __init__.py asgi.py settings.py urls.py wsgi.py
- Tạo project với tên là
Chạy dự án Django
-
Để chạy dự án Django. Bạn dùng lệnh
python manage.py runserver
Sau khi chạy lệnh này, mặc định Django chỉ cho truy cập từ chính chiếc máy chạy server
(localhost)
và cổng dự án mặc định là8000
. Các bạn có thể truy cập http://localhost:8000 để vào trang web -
Để có thể public dự án Django ra ngoài bạn có thể thêm tùy chọn host là
0.0.0.0
và port là8000
. Câu lệnh chạy server sẽ làpython manage.py runserver 0.0.0.0:8000
- Bây giờ bạn có thể lấy ip của máy bằng lệnh
ipconfig
và tìm đến ip mạng cục bộ của bạn (giả sử ip của bạn là192.168.1.56
. Khi các thết bị khác dùng chung mạng cục bộ với bạn có thể truy cập bằng địa chỉ http://192.168.1.56:8000.- Tuy nhiên khi truy cập bằng cách này Django sẽ có cơ chế bảo vệ nên bạn cần cài đặt lại một tí. Bạn vào file
setting.py
tìm đến dòngALLOWED_HOSTS = []
và sửa nó thànhALLOWED_HOSTS = ["192.168.1.56"]
hoặc["*"]
để chấp nhận tất cả host. Sau đó tắt đi bật lại server là được.
- Tuy nhiên khi truy cập bằng cách này Django sẽ có cơ chế bảo vệ nên bạn cần cài đặt lại một tí. Bạn vào file
- Bây giờ bạn có thể lấy ip của máy bằng lệnh
Tài liệu tham khảo
All rights reserved