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

2/19/2026
7 min read

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.

  1. Mở terminal hoặc command prompt.

  2. Tạo một thư mục dự án, ví dụ: myproject:

    mkdir myproject
    cd myproject
    
  3. 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  # Windows
    

    Sau 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.

  1. Vẫn trong thư mục dự án của bạn (myproject), hãy chạy lệnh sau:

    django-admin startproject mysite
    

    Thao tác này sẽ tạo một thư mục có tên mysite trong thư mục myproject, chứa các tệp khung xương của dự án Django.

  2. Vào thư mục mysite:

    cd mysite
    
  3. 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.py
    
    • manage.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ộ.

  1. Trong thư mục mysite, hãy chạy lệnh sau:

    python manage.py runserver
    
  2. 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.

  1. Mở một cửa sổ terminal mới (giữ cho máy chủ phát triển đang chạy).

  2. Trong thư mục mysite, hãy chạy lệnh sau:

    python manage.py startapp myapp
    

    Thao tác này sẽ tạo một thư mục có tên myapp trong thư mục mysite, chứa các tệp khung của ứng dụng Django.

  3. 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.
  4. Trong mysite/settings.py, hãy thêm myapp vào danh sách INSTALLED_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.

  1. 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!")
    
  2. Tạo một tệp myapp/urls.py và ánh xạ URL tới hàm view:

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.index, name='index'),
    ]
    
  3. Bao gồm myapp/urls.py vào mysite/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
    ]
    
  4. 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.

  1. 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).

  2. Tạo và áp dụng các migration cơ sở dữ liệu:

    python manage.py makemigrations myapp
    python manage.py migrate
    

    Lệnh makemigrations sẽ tạo các file migration dựa trên model của bạn, lệnh migrate sẽ á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.

  1. Tạo một siêu người dùng:

    python manage.py createsuperuser
    

    Làm theo hướng dẫn để nhập tên người dùng, email và mật khẩu.

  2. Chỉnh sửa file myapp/admin.py, đăng ký model Question:

    from django.contrib import admin
    from .models import Question
    
    admin.site.register(Question)
    
  3. 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 ).

  1. Trong thư mục myapp/templates/myapp, tạo một file có tên index.html, thêm đoạn code sau:

    
    
        
            Hello, Django!
        
        
            The current time is: {{ current_time }}
        
    
    
  2. 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 render sẽ tải template và truyền dữ liệu cho template để render.

  3. 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.

Published in Technology

You Might Also Like

📝
Technology

Hướng dẫn chỉnh sửa Claude Code Buddy: Cách nhận thú cưng huyền thoại phát sáng

Hướng dẫn chỉnh sửa Claude Code Buddy: Cách nhận thú cưng huyền thoại phát sáng Ngày 1 tháng 4 năm 2026, Anthropic đã âm...

Obsidian đã ra mắt Defuddle, đưa Obsidian Web Clipper lên một tầm cao mớiTechnology

Obsidian đã ra mắt Defuddle, đưa Obsidian Web Clipper lên một tầm cao mới

Obsidian đã ra mắt Defuddle, đưa Obsidian Web Clipper lên một tầm cao mới Tôi luôn rất thích triết lý cốt lõi của Obsid...

OpenAI đột ngột công bố "ba trong một": Trình duyệt + lập trình + ChatGPT hợp nhất, nội bộ thừa nhận đã đi sai đường trong năm quaTechnology

OpenAI đột ngột công bố "ba trong một": Trình duyệt + lập trình + ChatGPT hợp nhất, nội bộ thừa nhận đã đi sai đường trong năm qua

OpenAI đột ngột công bố "ba trong một": Trình duyệt + lập trình + ChatGPT hợp nhất, nội bộ thừa nhận đã đi sai đường tro...

2026, không còn ép bản thân 'kỷ luật'! Làm tốt 8 việc nhỏ này, sức khỏe tự nhiên đếnHealth

2026, không còn ép bản thân 'kỷ luật'! Làm tốt 8 việc nhỏ này, sức khỏe tự nhiên đến

2026, không còn ép bản thân 'kỷ luật'! Làm tốt 8 việc nhỏ này, sức khỏe tự nhiên đến Năm mới bắt đầu, năm ngoái bạn đã ...

Những bà mẹ cố gắng giảm cân nhưng không thành công, chắc chắn đều mắc phải điều nàyHealth

Những bà mẹ cố gắng giảm cân nhưng không thành công, chắc chắn đều mắc phải điều này

Những bà mẹ cố gắng giảm cân nhưng không thành công, chắc chắn đều mắc phải điều này Tháng Ba đã qua nửa, kế hoạch giảm...

📝
Technology

Hướng dẫn vận hành ổn định AI Browser 24 giờ

Hướng dẫn vận hành ổn định AI Browser 24 giờ Bài hướng dẫn này giới thiệu cách thiết lập một môi trường AI Browser ổn đị...