Hướng dẫn pass variable to html python - chuyển biến cho html python

Tôi đang sử dụng chức năng sau để thực hiện chế độ xem HTML đơn giản:

import cherrypy
class index(object):
    @cherrypy.expose
    def example(self):
        var = "goodbye"
        index = open("index.html").read()
        return index

Tệp index.html của chúng tôi là:


    

Hello, {var}!

Làm thế nào tôi có thể chuyển biến {var} cho chế độ xem từ bộ điều khiển của tôi?

Tôi đang sử dụng Cherrypy MicroframeWork để chạy máy chủ HTTP và tôi không sử dụng bất kỳ công cụ mẫu nào.

Hướng dẫn pass variable to html python - chuyển biến cho html python

Nurjan

5.6325 Huy hiệu vàng33 Huy hiệu bạc53 Huy hiệu Đồng5 gold badges33 silver badges53 bronze badges

Hỏi ngày 28 tháng 12 năm 2016 lúc 3:21Dec 28, 2016 at 3:21

Thay đổi tệp HTML của bạn và định dạng nó.

index.html


    

Hello, {first_header:}!

{p2:}, {p1:}!

Mật mã

index = open("index.html").read().format(first_header='goodbye', 
                                         p1='World', 
                                         p2='Hello')

Đầu ra


    

Hello, goodbye!

Hello, World!

OneCricketeer

161K18 Huy hiệu vàng120 Huy hiệu bạc222 Huy hiệu đồng18 gold badges120 silver badges222 bronze badges

Đã trả lời ngày 28 tháng 12 năm 2016 lúc 3:55Dec 28, 2016 at 3:55

Hướng dẫn pass variable to html python - chuyển biến cho html python

ThelazyscripterthelazyscripterTheLazyScripter

2.4661 Huy hiệu vàng9 Huy hiệu bạc19 Huy hiệu đồng1 gold badge9 silver badges19 bronze badges

1

Mã dưới đây đang hoạt động tốt. Thay đổi mã HTML và Python cho phù hợp

index.html


    

Hello, {p.first_header}

Mã Python

class Main:
    first_header = 'World!'

# Read the HTML file
HTML_File=open('index.html','r')
s = HTML_File.read().format(p=Main())
print(s)

Đầu ra


    

Hello, World!

OneCricketeerJul 19, 2020 at 15:58

Hướng dẫn pass variable to html python - chuyển biến cho html python

Vấn đề

Tôi có một chức năng gửi thư cho người dùng, như thế này:

import os
import smtplib
import imghdr
from email.message import EmailMessage

EMAIL_ADDRESS = email
EMAIL_PASSWORD = password


msg = EmailMessage()
msg['Subject'] = 'Email Title'
msg['From'] = EMAIL_ADDRESS
msg['To'] = ANOTHER_EMAIL_ADDRESS

msg.set_content('Email content')
html = open('email.html', 'r').read()
print(html)
msg.add_alternative(html, subtype='html')


with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
    smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
    smtp.send_message(msg)

Và tệp HTML giống như sau:




    

Hey there, {{userEmail}}!

Tôi muốn có thể chuyển biến 'người dùng' cho tệp HTML. Làm thế nào tôi có thể làm điều đó?


Dung dịch

Trong


    

Hello, {var}!

4 thay đổi

    

Hello, {var}!

5 thành

    

Hello, {var}!

6. Sau đó, bạn sẽ có thể sử dụng định dạng chuỗi Python để thêm biến

    

Hello, {var}!

7.


    

Hello, {var}!

0

Được trả lời bởi - Ogdenkevv

Hướng dẫn pass variable to html python - chuyển biến cho html python

Kết hợp các biến và một số logic

Trong hướng dẫn phát triển web Flask này với Python, chúng tôi bao gồm việc bổ sung các biến bình trong HTML, mẫu và một số logic của bạn.

Ý tưởng ở đây là chúng ta có thể sử dụng Python để tạo các biến xuất hiện trong các trang của chúng ta. Lấy một bảng, ví dụ, với các giá trị trong đó tương ứng với giá của các mặt hàng trong một cửa hàng. Chúng tôi muốn bảng này năng động với giá thay đổi trong cơ sở dữ liệu của chúng tôi, vì vậy chúng tôi muốn điền vào bảng bằng các biến thay vì phải chỉnh sửa thủ công HTML mỗi khi giá thay đổi.

Để làm điều này, chúng tôi cũng sử dụng các mẫu, đó là mã HTML đóng vai trò là "mẫu" cho trang web của chúng tôi. Các mẫu chứa một loạt mã HTML mà chúng tôi mong đợi thường sử dụng với trang web của chúng tôi, với một số khía cạnh biến và động khác biệt giữa các trang. Hình thức cơ bản nhất của mẫu là một hình thức chứa mọi thứ từ thanh điều hướng của bạn trở lên. Vì điều này thường vẫn giống hệt nhau trên mỗi trang của trang web của bạn, đây sẽ là một ví dụ về những gì bạn muốn mẫu.

Chúng tôi cũng bao gồm bằng cách sử dụng Try-Except để xử lý lỗi. Có thể hữu ích khi có các ngoại lệ ghi lại các lỗi trong tệp nhật ký ít nhất.

Đầu tiên, một ví dụ nhanh về Try-Except trả về một chuỗi từ ngoại lệ:


    

Hello, {var}!

1

Trên đây sẽ trả về lỗi mà x không được xác định trong trình duyệt, thay vì lỗi HTTP. Bạn có thể sử dụng điều này để xử lý một số lỗi trên trang của bạn. Tôi không khuyên bạn nên thực sự hiển thị lỗi cho trang, nhưng thay vào đó bạn có thể đăng nhập các lỗi vào tệp hoặc gửi cho mình một email xảy ra lỗi và một số thông tin về nó. Có các tùy chọn xử lý lỗi HTML tùy chỉnh với bình mà chúng tôi cũng sẽ bao gồm sau đó, như 404 không tìm thấy. Không phải là một ý tưởng tốt để hiển thị các lỗi cho người dùng trong trình duyệt, vì điều này thường có thể cung cấp cái nhìn sâu sắc trực tiếp về các hoạt động bên trong của trang web của bạn. Đối với người dùng điển hình, điều này là ổn, nhưng hiển thị dữ liệu này cho một hacker, người có thể có mục đích gây ra các lỗi này, điều này có thể rất tệ.

Tiếp theo, mẫu.

Trong thư mục mẫu của bạn, thêm phần sau là "index.html"


    

Hello, {var}!

2

Xem {{title}}? Đây là cách chúng tôi có thể chuyển các biến từ Python sang trang HTML của chúng tôi. Vì vậy, niềng răng xoăn đôi biểu thị các biến. Bạn sẽ thấy cách chúng tôi chuyển chúng đến trang Index, nhưng chúng được truyền dưới dạng tham số chức năng.

Tiếp theo, bạn có thể thấy:


    

Hello, {var}!

3

Bất cứ khi nào bạn nhìn thấy niềng răng xoăn với các biểu tượng phần trăm, điều đó có nghĩa là một tuyên bố đang được gọi. Trong trường hợp này, một vòng lặp. Chúng ta cũng có thể làm nếu, khác, và Elif rất dễ dàng. Tuy nhiên, hãy lưu ý rằng chúng tôi cũng được yêu cầu sử dụng các câu lệnh "kết thúc". HTML không hoạt động như Python theo nghĩa là các tab biểu thị các khối mã. Không nói rõ ràng nơi kết thúc của vòng lặp hoặc câu lệnh, bạn sẽ thấy mình bị lỗi.

Nếu bạn đang theo dõi qua các video, hãy đảm bảo bạn xem cả hai, có hai video về chủ đề này trước khi chúng tôi vào Bootstrap.

Hướng dẫn tiếp theo:


Làm thế nào để bạn chuyển một biến cho một tệp HTML trong Python?

Dung dịch.Trong email.html thay đổi {{userEmail}} thành {userEmail}.Sau đó, bạn sẽ có thể sử dụng định dạng chuỗi Python để thêm biến người dùng.In email. html change {{userEmail}} to {userEmail} . Then you should be able to use Python string formatting to add the userEmail variable.

Làm cách nào để gửi một biến từ bình đến HTML?

Từ bình Nhập bình, Render_Template, Yêu cầu ..
@app.route('/').
Sinh viên def ():.
trả về render_template ('student.html').
@app.Route ('/result', setree = ['post', 'get']).
Kết quả def ():.
Nếu request.method == 'Post':.
return render_template ("result.html", result = result).

Làm thế nào để bạn vượt qua các biến trong bình?

Chuyển một biến JavaScript cho một biến Python trong bình..
GetEuityByID là một phương thức trả về các giá trị có ID khớp với chuỗi được đưa ra trong phương thức.Và mặc dù chúng tôi không chuyển bất kỳ giá trị nào cho hàm JavaScript, nhưng nó nhận được giá trị ..
Xmlhttpresponse (phương thức/url) là một đối tượng AJAX.....