DJANGO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Hướng dẫn tạo App Django trong Python

Django đã trở thành một trong những framework phổ biến nhất cho việc phát triển ứng dụng web. Điều này không chỉ vì Django cung cấp một môi trường phát triển mạnh mẽ và linh hoạt, mà còn vì cách thức tổ chức dự án một cách rõ ràng và tiện lợi.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Một phần quan trọng trong việc sử dụng Django là khả năng tạo ra các ứng dụng mới và tích hợp chúng vào dự án chính. Trong bài viết này, mình sẽ cùng nhau tìm hiểu cách tạo một ứng dụng Django mới, từ việc khởi tạo đến việc đăng ký và xây dựng các view cơ bản. Bằng cách làm này, bạn sẽ hiểu rõ hơn về cách Django quản lý các thành phần trong một dự án và làm thế nào để tạo ra các tính năng mới một cách hiệu quả. Hãy cùng bắt đầu!

Django projects và applications trong Python

OIP 20 13  jpg

Trong Django, một project là một ứng dụng web cụ thể, bao gồm tất cả các cài đặt, cấu hình, và ứng dụng con cần thiết để chạy một trang web hoàn chỉnh.

Một application là một thành phần nhỏ hơn của một project, chứa các tính năng hoặc chức năng cụ thể của ứng dụng web.

Bài viết này được đăng tại [free tuts .net]

Mục đích Django projects và applications trong Python

  • Project: Là không gian làm việc chính cho toàn bộ ứng dụng web, chứa cấu hình chung, cài đặt, và chức năng cốt lõi.
  • Application: Đóng gói các tính năng hoặc chức năng cụ thể của ứng dụng web, giúp tổ chức mã nguồn một cách cụ thể và dễ quản lý.

Mối quan hệ giữa project và application

  • Một project có thể chứa nhiều application, mỗi application cung cấp các tính năng hoặc chức năng khác nhau của ứng dụng web.
  • Các application trong project có thể tái sử dụng được, cho phép tái sử dụng các chức năng hoặc tính năng trong các project khác nhau.
  • Project chịu trách nhiệm quản lý các cài đặt và cấu hình chung cho toàn bộ ứng dụng web, trong khi application tập trung vào các tính năng cụ thể và logic kinh doanh.

Điều này giúp tổ chức mã nguồn một cách rõ ràng và linh hoạt, đồng thời giúp cho việc phát triển, bảo trì và mở rộng ứng dụng web trở nên dễ dàng hơn.

Tạo một ứng dụng Django mới trong Python

Screenshot 202024 05 15 20231709 png

Sử dụng lệnh startapp

Lệnh startapp là một trong những lệnh cơ bản của Django, được sử dụng để tạo một ứng dụng Django mới trong một project.

Tạo một ứng dụng mới

  • Để tạo một ứng dụng mới, bạn sử dụng lệnh sau:
python manage.py startapp <tên_ứng_dụng>

Trong đó, <tên_ứng_dụng> là tên của ứng dụng bạn muốn tạo. Ví dụ:

python manage.py startapp blog

Tìm hiểu cấu trúc thư mục của ứng dụng Django mới

Khi sử dụng lệnh startapp, Django sẽ tạo ra một thư mục mới với cấu trúc mặc định chứa các tệp và thư mục cơ bản của một ứng dụng Django. Dưới đây là cấu trúc thư mục và mô tả của từng phần:

<app_name>/
├── migrations/           # Thư mục chứa các file migration
├── admin.py              # Tùy chọn cấu hình admin
├── apps.py               # Cấu hình ứng dụng
├── models.py             # Định nghĩa các model
├── tests.py              # Định nghĩa các test
├── views.py              # Định nghĩa các view
└── __init__.py           # File khởi tạo ứng dụng
  • migrations/: Thư mục chứa các file migration để quản lý cấu trúc cơ sở dữ liệu.
  • admin.py: Tùy chọn cấu hình liên quan đến trang quản trị Django.
  • apps.py: File cấu hình chung của ứng dụng.
  • models.py: File định nghĩa các model của ứng dụng.
  • tests.py: File chứa các test cho ứng dụng.
  • views.py: File định nghĩa các view của ứng dụng.
  • init.py: File khởi tạo của ứng dụng Django.

Đăng ký ứng dụng trong Python

Thêm ứng dụng vào settings.py

Thêm ứng dụng vào INSTALLED_APPS

  • Để sử dụng một ứng dụng Django trong project, bạn cần phải đăng ký ứng dụng đó vào INSTALLED_APPS trong file settings.py.
  • Mở file settings.py trong thư mục gốc của project và thêm tên ứng dụng vào danh sách INSTALLED_APPS.

Ví dụ

INSTALLED_APPS = [
    # Các ứng dụng khác
    'blog',  # Tên ứng dụng mới tạo
#Bài viết này được đăng tại freetuts.net
]

Sử dụng apps.py để đăng ký ứng dụng

Sử dụng apps.py để đăng ký ứng dụng

  • Trong thư mục ứng dụng, có một file apps.py chứa các cấu hình của ứng dụng.
  • Trong file apps.py, có một class thừa kế từ AppConfig được sử dụng để cấu hình ứng dụng. Điều này cho phép bạn đặt tên hiển thị của ứng dụng, tên ứng dụng và một số cấu hình khác.

Ví dụ: Trong file apps.py của ứng dụng blog:

from django.apps import AppConfig
#Bài viết này được đăng tại freetuts.net
class BlogConfig(AppConfig):
    name = 'blog'
    verbose_name = 'Blog'

Để đăng ký ứng dụng, bạn cần thêm tên class BlogConfig vào danh sách INSTALLED_APPS trong file settings.py.

Ví dụ: Trong file settings.py:

INSTALLED_APPS = [
    # Các ứng dụng khác
#Bài viết này được đăng tại freetuts.net
    'blog.apps.BlogConfig',
]

Qua các bước trên, ứng dụng của bạn đã được đăng ký và có thể sử dụng trong project Django.

Tạo view trong Python

Trong Django, view là nơi xử lý logic của ứng dụng và trả về phản hồi cho người dùng.

View có thể là một hàm hoặc một lớp dựa trên loại view bạn muốn sử dụng.

Tạo function-based views

Tạo function-based views

  • Function-based views là các hàm Python đơn giản nhận request và trả về response.
  • Để tạo một function-based view, bạn định nghĩa một hàm trong file views.py của ứng dụng.

Ví dụ: Trong views.py của ứng dụng blog:

from django.http import HttpResponse
#Bài viết này được đăng tại freetuts.net
def home(request):
    return HttpResponse('<h1>Blog Home</h1>')

Map view với URL

Map view với URL

  • Sau khi bạn đã định nghĩa function-based view, bạn cần phải liên kết nó với một URL cụ thể để người dùng có thể truy cập được.
  • Để làm điều này, bạn cần tạo một URL pattern trong file urls.py của ứng dụng.

Ví dụ: Trong urls.py của ứng dụng blog:

from django.urls import path
from . import views
#Bài viết này được đăng tại freetuts.net
urlpatterns = [
    path('', views.home, name='home'),
]

Qua các bước trên, bạn đã tạo và liên kết một function-based view với một URL cụ thể trong ứng dụng Django của mình.

Chạy máy chủ phát triển Djangob trong Python

Khởi động máy chủ phát triển

Sử dụng lệnh startserver

  • Để khởi động máy chủ phát triển Django, bạn sử dụng lệnh sau trong terminal:
python manage.py runserver

Lệnh này sẽ khởi động máy chủ phát triển và mặc định sẽ lắng nghe trên cổng 8000.

Nếu bạn muốn khởi động máy chủ trên một cổng khác, bạn có thể chỉ định cổng bằng cách thêm số cổng vào sau lệnh, ví dụ:

python manage.py runserver 8080

Kiểm tra trạng thái kết nối

Truy cập URL của ứng dụng

  • Một khi máy chủ phát triển đã được khởi động, bạn có thể mở trình duyệt và truy cập vào URL http://http://127.0.0.1:8000/(hoặc URL tùy thuộc vào cổng bạn đã chỉ định nếu có).
  • Nếu bạn đã liên kết function-based view với URL như đã mô tả ở trên, bạn sẽ nhận được phản hồi tương ứng từ view đó.
  • Ví dụ, nếu bạn có một view có tên home và bạn đã liên kết nó với URL '', khi bạn truy cập vào URL http://http://127.0.0.1:8000/, bạn sẽ nhận được nội dung của view home.

Qua các bước trên, bạn đã khởi động thành công máy chủ phát triển Django và kiểm tra trạng thái kết nối bằng cách truy cập vào URL của ứng dụng trên trình duyệt web của bạn.

Tạo thêm các route trong Python

Định nghĩa các view khác

Định nghĩa các view mới

  • Trong file views.py của ứng dụng Django, bạn có thể định nghĩa các function-based views khác nhau tương tự như bạn đã làm với view home.
  • Ví dụ, bạn có thể định nghĩa một view mới có tên about bằng cách thêm đoạn mã sau vào views.py:
from django.shortcuts import render
from django.http import HttpResponse
#Bài viết này được đăng tại freetuts.net
def about(request):
    return HttpResponse('<h1>About Us</h1>')

Thêm các route mới vào urls.py của ứng dụng

Thêm route cho view mới

  • Trong file urls.py của ứng dụng Django, bạn cần thêm một route mới cho view bạn vừa định nghĩa. Để làm điều này, bạn sẽ sử dụng hàm path tương tự như bạn đã làm trước đó.

Ví dụ, để thêm route cho view about, bạn có thể thực hiện như sau:

from django.urls import path
from . import views
#Bài viết này được đăng tại freetuts.net
urlpatterns = [
    path('', views.home, name='posts'),
    path('about/', views.about, name='about'),
]

Qua các bước trên, bạn đã định nghĩa các view mới và thêm các route tương ứng cho chúng trong ứng dụng Django của mình. Bây giờ bạn có thể truy cập các route mới này thông qua URL tương ứng và kiểm tra xem chúng hoạt động như mong đợi không.

Kết bài

Trong bài viết này, mình đã tìm hiểu cách tạo ứng dụng Django mới trong Python từ đầu đến cuối. Bạn cũng đã tìm hiểu cách sử dụng lệnh startapp để tạo một ứng dụng mới, cũng như cấu trúc thư mục của một ứng dụng Django. Sau đó, đã tìm hiểu cách đăng ký ứng dụng mới vào trong cài đặt của Django project.

Tiếp theo, mình đã tạo các view mới và ánh xạ chúng với các URL tương ứng bằng cách sử dụng các route. Cuối cùng,mình đã học cách khởi động máy chủ phát triển Django và kiểm tra trạng thái kết nối.

Với kiến thức từ bài viết này, bạn có thể bắt đầu xây dựng các ứng dụng web mạnh mẽ và linh hoạt bằng Django. Hãy tiếp tục tìm hiểu và phát triển kỹ năng lập trình của bạn với Django cùng freetuts.net nhé!

Cùng chuyên mục:

Tài liệu tham khảo nhanh về Regex trong Python

Tài liệu tham khảo nhanh về Regex trong Python

Hàm Flags của Regex trong Python

Hàm Flags của Regex trong Python

Hàm split() của Regex trong Python

Hàm split() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm match() của Regex trong Python

Hàm match() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm search() trong Python Regex

Hàm search() trong Python Regex

Hàm findall() của regex trong Python

Hàm findall() của regex trong Python

Lookbehind trong Regex của Python

Lookbehind trong Regex của Python

Lookahead trong Python Regex

Lookahead trong Python Regex

Alternation Regex trong Python

Alternation Regex trong Python

Tìm hiểu Backreferences trong regex của Python

Tìm hiểu Backreferences trong regex của Python

Nhóm Non-capturing trong Regex Python

Nhóm Non-capturing trong Regex Python

Các nhóm Capturing trong regex của Python

Các nhóm Capturing trong regex của Python

Sets và Ranges trong Regex của Python

Sets và Ranges trong Regex của Python

Lượng từ non-greed trong Regex của Python

Lượng từ non-greed trong Regex của Python

Chế độ Greedy trong Regex Python

Chế độ Greedy trong Regex Python

Các lượng từ trong Regex của Python

Các lượng từ trong Regex của Python

Regex Word Boundary trong Python

Regex Word Boundary trong Python

Top