Chúng ta có thể đặt Python với HTML không?

Để sử dụng PyScript, bạn có thể tải xuống và làm theo hướng dẫn hoặc thêm các dòng sau vào trang của mình


Bấm vào đây để biết thêm thông tin về cách sử dụng PyScript

Xin lưu ý rằng PyScript rất alpha và đang được phát triển mạnh mẽ. Có nhiều vấn đề đã biết, từ khả năng sử dụng đến thời gian tải và bạn nên mong đợi mọi thứ thay đổi thường xuyên. Chúng tôi khuyến khích mọi người chơi và khám phá bằng PyScript, nhưng tại thời điểm này, chúng tôi không khuyên bạn nên sử dụng nó để sản xuất

PyScript là một khung cho phép người dùng tạo các ứng dụng Python phong phú trong trình duyệt bằng giao diện của HTML và sức mạnh của Pyodide, WASM và các công nghệ web hiện đại. Khung PyScript cung cấp cho người dùng ở mọi cấp độ kinh nghiệm quyền truy cập vào ngôn ngữ lập trình dễ hiểu, dễ học với vô số ứng dụng

PyScript là gì?

  • Python trong trình duyệt. Kích hoạt nội dung thả vào, lưu trữ tệp bên ngoài và lưu trữ ứng dụng mà không phụ thuộc vào cấu hình phía máy chủ
  • hệ sinh thái Python. Chạy nhiều gói phổ biến của Python và ngăn xếp khoa học (chẳng hạn như numpy, pandas, scikit-learning, v.v.)
  • Python với JavaScript. Giao tiếp hai chiều giữa các đối tượng và không gian tên Python và Javascript
  • quản lý môi trường. Cho phép người dùng xác định những gói và tệp sẽ bao gồm để mã trang chạy
  • Phát triển ứng dụng trực quan. Sử dụng các thành phần giao diện người dùng được sắp xếp có sẵn, chẳng hạn như nút, vùng chứa, hộp văn bản, v.v.
  • khung linh hoạt. Một khung linh hoạt có thể được tận dụng để tạo và chia sẻ các thành phần có thể cắm và mở rộng mới trực tiếp trong Python

Tất cả những gì cần nói… PyScript chỉ là HTML, chỉ mạnh hơn một chút (không sao, có thể rất nhiều), nhờ vào hệ sinh thái phong phú và dễ tiếp cận của các thư viện Python

Bằng cách tận dụng cả hai Mô-đun. digiweb và phiên bản PythonInsideHTML được sửa đổi một chút. zip từ máy chủ web Karrigell Python của dự án được cấp phép BSD để biến nó thành một thư viện độc lập. Có thể chạy nhúng Python trong tài liệu HTML có thể được thực thi trong thời gian chạy

Bên trong HTML

cú pháp

By enclosing Python statements within a <% %> tag the Python interpreter will execute said statements. In the following example a "stored_time" variable will be created and will save the time on the local scope.

<% import time %>
<% stored_time = time.strftime("%d:%m:%y",time.localtime(time.time())) %>

If enclosed with <%= %> it will evaluate the statement and replace the tag with the result of the executed statement. In the following example the HTML created will contain the day:month:year from the devices internal clock.

<% import time %>
<%= time.strftime("%d:%m:%y",time.localtime(time.time())) %>

thụt đầu dòng

Khai báo thụt đầu dòng

Một tệp được chuyển đổi thành mã Python, mã này phải được thụt lề theo quy tắc Python;

Vì vậy, hãy cẩn thận nếu bạn kết hợp Python và HTML

    1 <% for i in range(10): %>
    2 <%= i %>*<%= i %> :  <%= i*i %> 

Điều này sẽ hoạt động vì sau một vòng lặp hoặc một điều kiện, HTML sau sẽ được PIH tự động thụt vào

To decrement indentation, use <% end %> :

    1 <% for i in range(10): %>
    2 <%= i %>*<%= i %> :  <%= i*i %> 
    3 <% end %>
    4 

done

trong ví dụ này, "xong" sẽ được viết sau khi vòng lặp for kết thúc

Một ví dụ khác cho một nếu. khác.

    1 <% if i: %>
    2   output someting
    3 <% end %>
    4 <% else: %>
    5   output someting else
    6 <% end %>
    7 

done

(Don't forget the last <% end %> otherwise "done" would have the same indentation as line 5) But this :

    1 <% for i in range(10):
    2    data= '%s * %s' %(i,i) %>
    3     <%= i*i %> 
    4 

done

Sẽ không hoạt động, bởi vì sau câu lệnh in trên dòng 2, thụt đầu dòng trở về 0 (nó bắt đầu bằng HTML thuần túy)

Tag

Nếu bạn có mã phức tạp trong đó Python và HTML được trộn lẫn, hãy nhúng mã đó vào giữa các thẻ và

    1  
    2  <% for i in range(10):
    3    data= '%s * %s' %(i,i) %>
    4     <%= i*i %> 
    5  
    6  

Table

7 8 9 10 11 A cell

có nghĩa. từ giờ trở đi và cho đến khi thẻ phù hợp, hãy sử dụng thụt lề trong nguồn PIH và để nguyên như vậy để tạo mã Python Trong ví dụ trên, thụt lề được sử dụng cho đến dòng 5 và bỏ qua sau đó. Nếu bản thân thẻ được thụt vào, đoạn mã sau sẽ được thụt vào

    1   
    2     
    3       
    4       
    5     
    6     
    7     <% for i in range(10): %>
    8       
    9       
    10      
    11      
    12    
    13  NumberSquare<%= i %><%= i**2 %>

Trong dòng 7, <% được căn chỉnh nên mã Python sẽ không được thụt vào

Kịch bản kết thúc

Nếu bạn muốn thoát tập lệnh trước khi kết thúc tài liệu, hãy nhấn

________số 8_______

Ghi vào đầu ra HTML

Nếu bạn muốn ghi vào đầu ra HTML mà không sử dụng các thẻ đánh giá, bạn có thể viết trực tiếp vào đầu ra mã Python thông qua

py_code.write( " Heading " )

Ví dụ làm việc từ Python

Trong ví dụ này, chúng tôi sẽ tạo một trình xử lý chung cho một loại tệp cho máy chủ web bằng cách sử dụng Mô-đun. kỹ thuật số

<% import time %>
<%= time.strftime("%d:%m:%y",time.localtime(time.time())) %>
0

Bây giờ bạn chỉ có thể tải lên một tệp kết thúc bằng a thông qua phần quản lý tệp Python của webui, sau đó chỉ cần điều hướng đến http. //device_address/filename

Ví dụ: tải lên phần sau (mẫu. pih) sẽ hiển thị thông tin về yêu cầu HTTP được chuyển đến http_handler. Mã Python được tạo bởi tập lệnh này được chạy trên cùng phạm vi với hàm http_handler để có quyền truy cập vào các đối số (loại, đường dẫn, tiêu đề, đối số)

<% import time %>
<%= time.strftime("%d:%m:%y",time.localtime(time.time())) %>
1

Điều hướng trình duyệt của bạn đến "http. //device_address/template. pih" sẽ cung cấp cho bạn một trang hiển thị thông tin về yêu cầu HTTP