Flask kết xuất HTML
Bây giờ đẹp như trang web của chúng tôi, có lẽ chúng tôi muốn hiển thị các tệp HTML phù hợp. Để làm điều này, chúng ta cần làm theo một số bước Show Bước 1. Nhập hàm render_template từ bình from flask import Flask, render_template Bước 2. Tạo một thư mục mới có tên là các mẫu bên trong thư mục CÙNG làm tập lệnh python của chúng tôi Bước 3. Tạo một tệp html, tôi đã đặt tên là chỉ mục của tôi. html. Đảm bảo đặt nó trong thư mục mẫu
Bước 4. Kết xuất mẫu từ một hàm trong python @app.route("/") def home(): return render_template("index.html") Hàm render_template sẽ tìm trong thư mục "mẫu" cho tệp có tên "chỉ mục. html" và hiển thị nó ra màn hình. Bây giờ hãy thử chạy tập lệnh và truy cập "/". Bạn sẽ thấy html đó được hiển thị HTML độngFlask sử dụng một công cụ tạo khuôn mẫu gọi là jinja. Điều này cho phép bạn viết mã python bên trong các tệp html của mình. Nó cũng cho phép bạn chuyển thông tin từ back-end (tập lệnh python) sang các tệp HTML của bạn Trong tệp HTML của bạn, bạn có thể sử dụng cú pháp sau để đánh giá các câu lệnh python Hãy xem một ví dụ
Ở đây chúng tôi đang xác định rằng chúng tôi sẽ có một biến được chuyển đến tệp HTML này có tên là nội dung. Vì vậy, từ back-end của chúng tôi, khi chúng tôi kết xuất mẫu, chúng tôi cần chuyển cho nó một giá trị cho nội dung @app.route("/") def home(): return render_template("index.html", content="Testing") Khi chúng tôi chạy tập lệnh và điều hướng đến trang chủ, chúng tôi nhận được thông tin sau Mẫu tiếp tụcCó một số thứ khác mà bạn có thể viết trong HTML của mình liên quan đến mã python. Phổ biến nhất là sử dụng vòng lặp for và câu lệnh if Khi chúng ta sử dụng Flask framework để phát triển một trang web, chúng ta có thể sử dụng hàm
thư mục mẫuNếu bạn muốn tạo một chương trình đơn giản sử dụng
Khi dùng hàm mục lục. html<body style="background-color: black"> <p style="color: white">Hello {{ Name }}!p> body>SAO CHÉP
Khi tôi viết HTML ở đây, tôi đã sử dụng dấu ngoặc nhọn {{ }} để gán giá trị cho các biến. Đây là cú pháp của Jinja2. Ngữ pháp của Jinja2 nhất quán với ngữ pháp mẫu cốt lõi của Flask, xét cho cùng, các nhà phát triển là cùng một người Vì vậy, chúng ta có thể thấy ở đây rằng chỉ cần mở trực tiếp tệp HTML sẽ chỉ thấy "{{Tên}}" xấu xí. Rốt cuộc, HTML không hiểu đây là gì; Điều đáng chú ý là trang web hiện đang hiển thị hoàn hảo theo phong cách tôi đã đặt. nền màu đen và văn bản màu trắng bình render_template. py# -*- coding: utf-8 -*- from flask import Flask, render_template app = Flask(__name__) @app.route('/') def main(): return render_template('index.html') if __name__ == '__main__': app.run(host='127.0.0.1', port=8000)SAO CHÉP
Điều đầu tiên cần nhớ. Nhập hàm render_template() from flask import Flask, render_templateSAO CHÉP Sau đó, bạn có thể thấy rằng {{ Tên }} chúng tôi đặt đã biến mất. Điều này là do chúng tôi hiện chưa cung cấp cho chúng tôi bất kỳ tham số nào cho mẫu được hiển thị. Nhưng cho đến nay, kết xuất HTML đã rất thành công và bạn có thể thấy rằng nền màu đen và chuỗi màu trắng Tôi có thể sử dụng HTML trong Flask không?Khung bình đã được viết theo cách để nó tìm các tệp mẫu HTML trong một thư mục có tên là mẫu . Vì vậy, bạn nên tạo một thư mục trống như vậy và sau đó đặt tất cả các mẫu HTML vào đó.
Làm cách nào để hiển thị tệp HTML bằng Python?Để hiển thị tệp HTML dưới dạng đầu ra python, chúng tôi sẽ sử dụng thư viện codec . Thư viện này được sử dụng để mở các tệp có mã hóa nhất định. Nó nhận một mã hóa tham số làm cho nó khác với hàm open() tích hợp.
Flask có hỗ trợ HTML động không?Trong Flask, bạn có thể sử dụng ngôn ngữ tạo khuôn mẫu Jinja để hiển thị các mẫu HTML . Mẫu là một tệp có thể chứa cả nội dung cố định và động.
{{ }} trong Flask là gì?biến mẫu bình
. Chúng là phần giữ chỗ cho các biến được hiển thị . Trong mẫu này có hai biến có thể được chuyển, tiêu đề và tên người dùng. |