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.

Django là gì? Có nên sử dụng Django để làm website?

Trong bài viết này mình sẽ giới thiệu Django là gì? Đây là một framework Python được dùng để xây dựng ứng dụng website.

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.

Nói đến làm website thì nhiều người sẽ nghĩ tới PHP, .NET, ASP, ... nhưng có lẽ nhiều người không biết rằng Python có thể làm được, không những vậy mà còn rất mạnh là đằng khác, điển hình là các ông lớn như: Disqus, Instagram, Knight Foundation, MacArthur Foundation, Mozilla, National Geographic ...

Và để làm được website bằng Python thì không thể không nhắc đến Django, một framework được xếp đầu trong danh sách những web framework của Python.

1. Django là gì?

django png

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

Django là một Python-based web framework cho phép bạn tạo ra một ứng dụng website một cách nhanh chóng mà không cần phải thực hiện quá nhiều công đoạn như những framework khác.

Khi bạn xây dựng một ứng dụng web thì phải chia ra rất nhiều components. Chẳng hạn như trong admin thì cần phải xây dựng các chức năng quản lý người dùng, đăng nhập và đăng xuất, quản lý media, upload file ... Tất cả những điều này đã được Django cung cấp sẵn.

Dưới đây là những lý do cơ bản mà bạn nên chọn Django:

  • Rất dễ dàng chuyển đổi database trong Django
  • Giao diện trang quản trị rất trực quan
  • Có đầy đủ các tính năng của một website
  • Có nhiều package có sẵn
  • Dễ mở rộng

Phần này mình chỉ giải thích Django dùng để làm gì thôi nhé. Bây giờ ta sẽ phân tích sâu vào những lý do mà bạn nên chọn Django để làm website chứ không phải là những FW khác.

2. Có nên chọn Django để làm website không?

Nói về độ phổ biến thì Django không thể qua mặt WordPress được, nhưng nói về tính mở rộng và hiệu năng thì Django vẫn nằm trên WordPress.

Đương nhiên tùy vào nhu cầu của mỗi người cũng như sở thích mà chọn một framework riêng cho bản thân. Ví dụ mình là lập trình viên PHP thì đương nhiên mình sẽ chọn WP, nhưng nếu mình đang làm việc với Python thì mình sẽ chọn Django.

Vì trong series này chúng ta đang bàn đến Python Framework dùng để làm website nên mình sẽ phân tích dựa vào những framework anh em của nó như: CherryPy, Pyramid, Grok, TurboGears, Web2Py ...

Django rất phổ biến

Có rất nhiều website sử dụng Django làm nền tảng như: Disqus, Instagram, Knight Foundation, MacArthur Foundation, Mozilla, National Geographic ... và hàng ngàn những website lớn nhỏ khác.

Các trang web đánh giá mức độ phổ biến thường sẽ dựa vào số lượng dự án được đăng lên Github, và trong danh sách đó thì Django được xếp hạng thứ 6.

Django rất linh hoạt

Django có thể được dùng để xây dựng mọi loại website như: Blog, tin tức, shopping, bất động sản ... và nó cũng có thể trả về client ở nhiều định dạng khác nhau như HTML, XML, JSON, ...

Một số thể loại website sử dụng Django phổ biến nhất đó là các trang về kiến thức(wiki), mạng xã hội (socials), trang tin tức (news) ...

Django bảo mật cao

Django framework ra đời nhằm giúp tạo ra website một cách nhanh chóng nhất, vì vậy bản thân nó đã được lập trình sẵn những vấn đề liên quan đến bảo mật cần thiết cho một trang web.

Ví dụ: Mật khẩu người dùng thay vì lưu trữ trực tiếp trong cookie thì nó đã được băm trước khi lưu trữ, vì vậy bạn không thể thấy nó khi cố tình tìm trong cookie.

Django dễ mở rộng

Các website làm bằng Django được mở rộng theo chiều ngang - chỉ cần kích hoạt thêm khi cần. Instagram và Disqus là hai websiet sử dụng Django, họ có hàng triệu người dùng nhưng vẫn hoạt động rất tốt.

Ngoài ra tất cả các mã Django đều được code bằng Python nên có thể được chạy trên nhiều nền tảng khác nhau. Vì vậy bạn có thể thuê VPS là Windows, Linux hay Mac OS đều có thể chạy Django.

3. Lấy tài liệu Django tiếng Việt ở đâu?

Tại Việt Nam thì Django vẫn là một FW tương đối mới mẻ nên tài liệu của nó vẫn chưa có nhiều.

Khi mình soạn ra series này thì mình mong muốn sẽ gửi đến độc giả một bộ series học Python từ căn bản đến nâng cao bằng tiếng Việt hay nhất. Mình sẽ biên soạn nội dung theo hướng step by step nhằm giúp người chưa biết gì cũng có thể học được.

Và đương nhiên, để học được Django thì bạn phải thành thạo Python. Vì vậy bạn hãy tham khảo 2 series dưới đây trước khi học Django nhé:

Lời kết: Qua bài này chắc hẳn bạn đã biết được Django là gì rồi phải không nào? Nếu trong quá trình học có gì thắc mắc thì bạn hãy bình luận xuống phía dưới bài học nhé.

Cùng chuyên mục:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top