Sử Dụng Template Và Jinja Trong Python Django - Arrow Trần
Có thể bạn quan tâm
Nội dung
Bài này sẽ giới thiệu những nội dung sau:
- Template là gì? Jinja là gì?
- Tạo các template
Template là gì? Jinja là gì?
Template là một layout được thiết kế các khung web có sẵn, ta chỉ cần thêm nội dung chính của nó vào, và nhờ các template ta mới tiết kiệm thời gian trong việc phát triển website.
Ví dụ: Ta hãy quan sát trang HowKteam
Ta để ý giao diện của 2 webpage này có vài đoạn tương đồng với nhau. Như vậy ta sẽ tạo một template chung và chỉ cần đưa nội dung vào đó để tái sử dụng template. Chúng ta sẽ làm thông qua các template engine
Jinja là một template engine cho python nhằm tạo các template như đã nói ở trên. Kteam sẽ giải thích Jinja rõ hơn ở phía sau.
Tạo các template
Bây giờ, ở app home Kteam sẽ tạo một folder templates, trong folder đó tạo thêm một folder pages. Trong folder pages Kteam sẽ tạo ra một file khung html là base.html
Bây giờ, ta sẽ thiết kế file base.html trong đó có 2 block để sau này điền nội dung vào. Một là block title nằm trong tag title, hai là block content nằm ở tag body:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>{% block title %}{% endblock %}</title> </head> <body> Nội dung {% block content %} {% endblock %} </body> </html>Tiếp theo, ta sẽ tạo một template home.html tái sử dụng template base.html (file home.html nằm trong folder page)
{% extends "pages/base.html" %} {% block title %} Home {% endblock %} {% block content %} <h1>Xin Chào</h1> Đây là app home {% endblock %}Như vậy các nội dung nằm trong những block template home.html sẽ được thay thế vào trong base.html.
Bây giờ ta quay lại file views.py ở app home, trong hàm index ta sẽ gọi template home.html:
from django.shortcuts import render from django.http import HttpResponse # Create your views here. def index(request): return render(request, 'pages/home.html')Ta sẽ gọi template bằng hàm render, hàm render có 2 tham số truyền vào: đầu tiên là request là request từ máy client, thứ 2 là tên đường dẫn đến template ta muốn dùng (ta chỉ cần gọi đường dẫn bên trong folder ‘templates’)
Bây giờ ta sẽ xem kết quả:
Giờ Kteam sẽ vẽ nguyên lý hoạt động của template engine Jinja: Khi ta dùng render để gọi template home.html.
Từ khóa » Jinja Là Gì
-
Bạn Chọn Jinja Template Hay Django Template Cho Dự án Web ... - Viblo
-
Sử Dụng Jinja Template Kết Hợp Với Python Tự động Sinh File ... - Viblo
-
Jinja Là Gì? - Ngữ Pháp Tiếng Nhật
-
Sử Dụng Template Và Jinja Trong Python Django | How Kteam
-
"jinja/ Chincha" Có Nghĩa Là Gì? - Câu Hỏi Về Tiếng Hàn Quốc | HiNative
-
Sử Dụng Jinja Template Kết Hợp Với Python Tự động ... - .vn
-
"jinja" Là Gì? Nghĩa Của Từ Jinja Trong Tiếng Việt. Từ điển Anh-Việt
-
Jinja Nghĩa Là Gì Trong Tiếng Việt? - English Sticky
-
Bài 2: Giới Thiệu Flask Và Jinja2 | Blueluanar's Blog
-
Những Ngôi đền Jinja Linh Thiêng Mà Bạn Không Quên Ghé Thăm
-
Ngôi đền Tiếng Nhật Là Gì - .vn
-
Đền Yasukuni – Wikipedia Tiếng Việt
-
PYTHON DỰA TRÊN WERKZEUG VÀ JINJA Tiếng Anh Là Gì - Tr-ex
-
Aiki Jinja Nghĩa Là Gì?