Hướng dẫn bắt đầu với Django: Xây dựng nhanh ứng dụng Web đầu tiên của bạn
Hướng dẫn bắt đầu với Django: Xây dựng nhanh ứng dụng Web đầu tiên của bạn
Django là một framework Web Python cấp cao, với mục tiêu phát triển nhanh và thiết kế đơn giản. Nó tuân theo kiến trúc Model-Template-View (MTV), khuyến khích tái sử dụng mã và tạo thành phần. Hướng dẫn này sẽ hướng dẫn bạn từng bước tạo một ứng dụng Django đơn giản, giúp bạn nhanh chóng làm quen.
1. Thiết lập môi trường
Trước tiên, bạn cần đảm bảo rằng hệ thống của bạn đã cài đặt Python. Django khuyến nghị sử dụng Python 3.6 trở lên.
1.1 Cài đặt Python
Nếu hệ thống của bạn chưa cài đặt Python, bạn có thể tải xuống và cài đặt từ trang web chính thức của Python.
1.2 Tạo môi trường ảo (Virtual Environment)
Để cô lập các phụ thuộc giữa các dự án khác nhau, bạn nên sử dụng môi trường ảo.
-
Mở terminal hoặc command prompt.
-
Tạo một thư mục dự án, ví dụ:
myproject:mkdir myproject cd myproject -
Tạo và kích hoạt môi trường ảo:
python3 -m venv venv # Hoặc python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsSau khi kích hoạt môi trường ảo, dấu nhắc terminal của bạn sẽ hiển thị
(venv), cho biết bạn đang sử dụng môi trường ảo.
1.3 Cài đặt Django
Trong môi trường ảo đã kích hoạt, sử dụng pip để cài đặt Django:
pip install Django
Xác minh cài đặt thành công:
python -m django --version
Bạn sẽ thấy số phiên bản của Django.
2. Tạo dự án Django
Sau khi cài đặt Django, bạn có thể tạo một dự án Django mới.
-
Vẫn trong thư mục dự án của bạn (
myproject), hãy chạy lệnh sau:django-admin startproject mysiteThao tác này sẽ tạo một thư mục có tên
mysitetrong thư mụcmyproject, chứa các tệp khung xương của dự án Django. -
Vào thư mục
mysite:cd mysite -
Cấu trúc thư mục dự án Django như sau:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Một công cụ dòng lệnh để quản lý dự án Django.mysite/: Gói Python chứa cấu hình dự án.__init__.py: Một tệp trống, cho Python biết rằng thư mục này nên được coi là một gói Python.settings.py: Tệp cấu hình dự án, chẳng hạn như cài đặt cơ sở dữ liệu, chế độ gỡ lỗi, v.v.urls.py: Cấu hình định tuyến URL, ánh xạ URL tới các hàm view.asgi.py: Tệp cấu hình ASGI (Asynchronous Server Gateway Interface), dùng để triển khai các ứng dụng không đồng bộ.wsgi.py: Tệp cấu hình WSGI (Web Server Gateway Interface), dùng để triển khai các ứng dụng đồng bộ truyền thống.## 3. Khởi động máy chủ phát triển
Django đi kèm với một máy chủ phát triển nhẹ, thuận tiện cho bạn phát triển và thử nghiệm cục bộ.
-
Trong thư mục
mysite, hãy chạy lệnh sau:python manage.py runserver -
Mở trình duyệt của bạn và truy cập
http://127.0.0.1:8000/. Bạn sẽ thấy trang "It worked! Congratulations on your first Django-powered page.".
4. Tạo ứng dụng Django
Một dự án Django có thể chứa nhiều ứng dụng. Hãy tạo một ứng dụng có tên là myapp.
-
Mở một cửa sổ terminal mới (giữ cho máy chủ phát triển đang chạy).
-
Trong thư mục
mysite, hãy chạy lệnh sau:python manage.py startapp myappThao tác này sẽ tạo một thư mục có tên
myapptrong thư mụcmysite, chứa các tệp khung của ứng dụng Django. -
Cấu trúc thư mục ứng dụng Django như sau:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Một tệp trống, cho Python biết rằng thư mục này nên được coi là một gói Python.admin.py: Dùng để cấu hình trang quản trị Django.apps.py: Cấu hình ứng dụng.migrations/: Dùng để quản lý di chuyển cơ sở dữ liệu.models.py: Định nghĩa mô hình dữ liệu (bảng cơ sở dữ liệu).tests.py: Viết các trường hợp kiểm thử.views.py: Định nghĩa các hàm view, xử lý yêu cầu và trả về phản hồi.
-
Trong
mysite/settings.py, hãy thêmmyappvào danh sáchINSTALLED_APPS:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Thêm myapp ]
5. Tạo một view đơn giản
Bây giờ chúng ta sẽ tạo một view đơn giản để hiển thị "Hello, Django!" trong trình duyệt.
-
Chỉnh sửa tệp
myapp/views.py, thêm đoạn mã sau:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Tạo một tệp
myapp/urls.pyvà ánh xạ URL tới hàm view:from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] -
Bao gồm
myapp/urls.pyvàomysite/urls.py:from django.urls import include, path from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), # Thêm cấu hình URL của myapp ] -
Truy cập
http://127.0.0.1:8000/myapp/. Bạn sẽ thấy trang "Hello, Django!".
6. Tạo một Model
Chúng ta hãy tạo một model đơn giản để lưu trữ một số dữ liệu.
-
Chỉnh sửa file
myapp/models.py, thêm đoạn code sau:from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def __str__(self): return self.question_textĐoạn code này định nghĩa một model tên là
Question, bao gồm hai trường:question_text(CharField) vàpub_date(DateTimeField). -
Tạo và áp dụng các migration cơ sở dữ liệu:
python manage.py makemigrations myapp python manage.py migrateLệnh
makemigrationssẽ tạo các file migration dựa trên model của bạn, lệnhmigratesẽ áp dụng các migration vào cơ sở dữ liệu.
7. Sử dụng trang quản trị Django
Django cung cấp một trang quản trị mạnh mẽ, giúp bạn quản lý dữ liệu một cách dễ dàng.
-
Tạo một siêu người dùng:
python manage.py createsuperuserLàm theo hướng dẫn để nhập tên người dùng, email và mật khẩu.
-
Chỉnh sửa file
myapp/admin.py, đăng ký modelQuestion:from django.contrib import admin from .models import Question admin.site.register(Question) -
Truy cập
http://127.0.0.1:8000/admin/, sử dụng siêu người dùng bạn vừa tạo để đăng nhập. Bạn sẽ thấy module "Questions", nơi bạn có thể thêm, chỉnh sửa và xóa các câu hỏi.
8. Sử dụng Template
Sử dụng template giúp bạn tạo các trang HTML linh hoạt hơn.1. Trong thư mục myapp, tạo một thư mục có tên templates, và trong thư mục templates, tạo một thư mục có tên myapp ( myapp/templates/myapp ).
-
Trong thư mục
myapp/templates/myapp, tạo một file có tênindex.html, thêm đoạn code sau:Hello, Django! The current time is: {{ current_time }} -
Chỉnh sửa file
myapp/views.py, sử dụng template:from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now})Hàm
rendersẽ tải template và truyền dữ liệu cho template để render. -
Truy cập lại
http://127.0.0.1:8000/myapp/. Bạn sẽ thấy trang web hiển thị thời gian hiện tại.
9. Kết luận
Thông qua hướng dẫn này, bạn đã hiểu các khái niệm cơ bản và cách sử dụng Django, bao gồm thiết lập môi trường, tạo project và app, định nghĩa model, tạo view và sử dụng template. Đây chỉ là bước khởi đầu, Django cung cấp rất nhiều tính năng, bạn có thể tiếp tục học hỏi và khám phá để xây dựng các ứng dụng Web phức tạp hơn.





