Khung JavaScript Django
Trong bài viết này, bạn sẽ học cách sử dụng javascript hiện đại trong ứng dụng Django của mình mà không làm mất đi những lợi thế của Django Show
Javascript phía máy khách là một phần cốt lõi của các ứng dụng web tương tác hiện đại. Các khung javascript hiện đại phổ biến mà bạn có thể sử dụng cho ứng dụng Django của mình bao gồm React , Angular và VueJS Ngoài ra còn có các khung javascript nhẹ hơn như Alpine. js (Alpine) cung cấp các công cụ mạnh mẽ để soạn hành vi trực tiếp trong HTML mà không cần các khung giao diện người dùng lớn hơn có thể yêu cầu các công cụ xây dựng hoặc dùng đến jQuery Tổng quan về kiến trúc giao diện người dùng cho Ứng dụng DjangoKiến trúc giao diện người dùng đề cập đến cách tổ chức mã giao diện người dùng. Có ba cách tiếp cận phổ biến để tổ chức mã giao diện người dùng Django của bạn. Mỗi cái đều có ưu điểm và nhược điểm Các mẫu kết xuất phía máy chủCác mẫu HTML được hiển thị trên máy chủ, đây là cách tiếp cận truyền thống
Giao diện người dùng SPA (ứng dụng một trang) với Django dưới dạng API còn lạiDjango được sử dụng hoàn toàn như một phụ trợ với giao tiếp thông qua API
Lai của hai cách tiếp cận đầu tiênJavascript được sử dụng khi cần thiết, nếu không thì các mẫu django truyền thống được sử dụng
Việc lựa chọn cách tiếp cận tùy thuộc vào yêu cầu dự án của bạn, ví dụ: quy mô nhóm hoặc mức độ phức tạp của giao diện người dùng Phương pháp kết hợp sẽ là cách tốt nhất cho hầu hết các ứng dụng trong đó
học bằng cách làmTrong phần tiếp theo này, chúng ta xem xét các khía cạnh quan trọng của việc xây dựng ứng dụng bằng Django và javascript hiện đại Yêu cầu dự án
điều kiện tiên quyết
Đây sẽ không phải là hướng dẫn từng bước nhưng chúng tôi sẽ đề cập đến các khái niệm chính. Chúng tôi khuyên bạn nên tải xuống mã nếu bạn muốn làm theo. Hướng dẫn có nhịp độ nhanh và giả định kiến thức về Django và javascript Sản phẩm cuối cùng
Cấu trúc dự án của bạnSao chép repo từ đây. Trong bước đầu tiên này, chúng ta sẽ cấu trúc dự án của mình để đảm bảo khả năng bảo trì và sự hài lòng của nhà phát triển. Đặt mọi thứ vào đúng vị trí của nó, với sự phân tách rõ ràng giữa các mối quan tâm. Chúng ta hãy xem sơ qua về cấu trúc dự án cấu trúc thư mục
ghi chú
Thiết lập các mẫu cơ sở và trang đíchTạo mẫu cơ sởcơ sở. mẫu html bao gồm tất cả các tập lệnh chung bắt buộc sẽ được sử dụng trên ứng dụng mẫu/cơ sở. html
ghi chú
Swagger là một bộ công cụ nguồn mở tập trung vào đặc tả OpenAPI hoặc “OAS”
Swagger cung cấp các công cụ có thể tương tác với thông số kỹ thuật này, chẳng hạn như
Trong hướng dẫn tiếp theo, chúng ta sẽ xem xét Swagger chi tiết hơn Tạo mẫu trang chủTrang đích mở rộng cơ sở. mẫu html và chỉ bao gồm một thành phần tiêu đề html đơn giản. Chúng tôi hy vọng trang này sẽ tĩnh theo thời gian mẫu/nhà. html
cấu hình/url. py 4ghi chú
Chế độ xem, Mô hình và APITrong bước tiếp theo này, chúng tôi sẽ thiết lập chế độ xem trang tổng quan và các điểm cuối api bắt buộc Những gì chúng tôi muốn đạt được
Tạo mô hìnhứng dụng/bảng điều khiển/mô hình. py 0ghi chú
Tạo chế độ xem và APITiếp theo, chúng tôi sẽ tạo chế độ xem mẫu cho trang đích bảng điều khiển ứng dụng/bảng điều khiển/lượt xem. py 3ghi chú
Hãy thêm API phụ trợ của chúng tôi. Chúng tôi đang sử dụng thư viện Django Ninja để thay thế cho thư viện Django rest framework tuyệt vời. Thư viện sử dụng Pydantic để xác thực dữ liệu và có hỗ trợ gợi ý không đồng bộ và nhập ứng dụng/bảng điều khiển/lược đồ. py 6ghi chú
ứng dụng/bảng điều khiển/api. py 8ghi chú
Kết nối các bộ định tuyến và URLTrong phần này, chúng tôi sẽ kết nối các điểm cuối 45 và 01 với cấu hình URL của chúng tôiứng dụng/bảng điều khiển/url. py 3ứng dụng/cấu hình/api. py 4ứng dụng/cấu hình/url. py 0ghi chú 02 - chúng tôi đã thêm 45 vào tệp cấu hình URL của trang tổng quan 04 - đã nhập bộ định tuyến todos mà chúng tôi đã tạo trước đó và thêm nó vào API của chúng tôi 05 - đã cập nhật các url chính. py để bao gồm cấu hình URL của ứng dụng bảng điều khiển và các điểm cuối APITrang đích và tài liệu API hiện sẽ hoạt động. Giao diện người dùng này được tạo tự động bởi Swagger Tạo các mẫu bảng điều khiển và thành phần alpineTiếp theo, chúng ta sẽ tạo các mẫu cho trang đích của bảng điều khiển, cũng như thành phần javascript của bảng điều khiển Tóm tắt quy trình làm việc
Tạo bố cục bảng điều khiển và mẫu trang đíchmẫu/bố cục. html 1ghi chú
mẫu/hạ cánh. html 2ghi chú Có rất nhiều điều đang diễn ra ở đây, hãy chia nhỏ các bit quan trọng
Ở giai đoạn này, chúng tôi đã xác định các mẫu nhưng chưa xác định thành phần Alpine. Do đó, chỉ tiêu đề sẽ được hiển thị nếu chúng tôi truy cập http. //máy chủ cục bộ. 8000/bảng điều khiển/ Các mẫu yêu cầu khácBạn có thể tham khảo mẫu/bảng điều khiển/thành phần trong cơ sở mã cho các tệp mẫu 38 , 39 và 60todo_form. html 3ghi chú 61 - một điều cần lưu ý ở đây là việc sử dụng chỉ thị 61, liên kết giá trị của vùng văn bản với dữ liệu Alpine. Không có khái niệm mới nào khác trong các mẫu này mà chúng tôi chưa đề cập ở trênTạo bảng điều khiển Thành phần AlpineĐây là ứng dụng javascript phía máy khách của chúng tôi. Nó sẽ xử lý định tuyến cho các chế độ xem đích Todo, Biểu đồ và bảng điều khiển cũng như logic cần thiết để tìm nạp dữ liệu, v.v. tĩnh/js/bảng điều khiển. js 4Đây là thành phần alpine cơ bản của chúng tôi, có một số bit và phần còn thiếu, chẳng hạn như logic cho ứng dụng việc cần làm chẳng hạn mà chúng tôi sẽ mở rộng sau ghi chú
Cập nhật thành phần Alpine của bảng điều khiển - Phương pháp CRUD cho ứng dụng TodoChúng tôi sẽ cập nhật thành phần bảng điều khiển trên núi cao của chúng tôi (cùng một tệp như trên) để bao gồm các phương thức CRUD cho ứng dụng của Todo. Trong thực tế, điều này có thể được chia thành một thành phần Alpine khác. Chúng tôi đã đưa nó vào cùng một thành phần để đơn giản hóa mọi thứ tĩnh/js/bảng điều khiển. js 5ghi chú
Vậy là xong, ứng dụng todos đã hoàn thành Thêm chức năng xây dựng tùy chọn biểu đồ cho Chart AppỨng dụng sử dụng thư viện echarts để hiển thị số liệu thống kê lưu lượng truy cập trong ứng dụng tĩnh/js/biểu đồ. js 6ghi chú
Tất cả đã xong 🥳 🥳 . Bản tóm tắt
Bước tiếp theoTrong hướng dẫn tiếp theo, chúng tôi thảo luận về cách chúng tôi có thể cải thiện thiết lập này và chuẩn bị ứng dụng của chúng tôi để sản xuất Chúng tôi sẽ tìm hiểu cách sử dụng công cụ xây dựng để giúp duy trì mã javascript của chúng tôi dễ dàng hơn. Chúng tôi cũng sẽ tìm hiểu sâu về Swagger và API phụ trợ Django có phải là một khung JavaScript không?Mặc dù phần lớn lõi của Django là Python, nhưng các ứng dụng đóng góp của quản trị viên và gis chứa mã JavaScript . Vui lòng tuân theo các tiêu chuẩn viết mã này khi viết mã JavaScript để đưa vào Django.
Tôi có thể sử dụng JavaScript và Django cùng nhau không?Nói về các ứng dụng web trong tương lai, Django có rất nhiều thứ để cung cấp và có khả năng phù hợp với bất kỳ cấu trúc ứng dụng web hiện đại nào. Xếp chồng các khung web Django và Javascript để xây dựng các ứng dụng web hiện đại là một trong những cách tốt nhất để xếp các khung phụ trợ và giao diện người dùng .
Khung giao diện người dùng nào là tốt nhất cho Django?10 Framework Front-End và Back-end hàng đầu dành cho Nhà phát triển Full-Stack năm 2022 . Góc [Giao diện người dùng + JavaScript]. Nút. . Django [Giao diện người dùng + Phụ trợ + Python]. Flask [Phụ trợ + Python]. Bootstrap [Giao diện người dùng + CSS]. jQuery [Giao diện người dùng + JavaScript]. Ruby on Rails [Phụ trợ + Ruby]. GraphQL [Phụ trợ + JavaScript] Django có thể thay thế JavaScript không?Câu trả lời đơn giản là KHÔNG. Django là một khung web hoàn toàn dựa trên Python và Thật khó để Python có thể thay thế JavaScript . Đầu tiên, JavaScript là trình duyệt gốc, trong khi Python thì không. Thứ hai, JavaScript và Python không phải là web-native, nghĩa là chúng có thể hoạt động song song. |