Hướng dẫn how do i write a python script in html? - làm cách nào để viết tập lệnh python bằng html?

Hướng dẫn how do i write a python script in html? - làm cách nào để viết tập lệnh python bằng html?

Dự án Pyscript mới cho phép bạn nhúng các chương trình Python trực tiếp vào các trang HTML và thực hiện chúng trong trình duyệt mà không có bất kỳ yêu cầu dựa trên máy chủ nào.

Dự án đã được công bố vào cuối tuần này tại Pycon US 2022 và hoạt động như một trình bao bọc xung quanh & nbsp; pyodide & nbsp; Project, tải trình thông dịch Cpython như một mô -đun trình duyệt webassugging.

"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 cách sử dụng hỗn hợp Python với HTML tiêu chuẩn." Giải thích Anaconda trong một bài đăng trên blog gần đây & nbsp;

"Pyscript nhằm mục đích cung cấp cho người dùng ngôn ngữ lập trình hạng nhất có quy tắc kiểu dáng nhất quán, biểu cảm hơn và dễ học hơn."

Mặc dù dự án pyodide trước đây cho phép bạn chạy Python trong trình duyệt, nhưng phải mất một thời gian để làm quen với cú pháp và không thanh lịch như chỉ đơn giản là viết một chương trình Python và dán nó vào trang HTML của bạn.

Tuy nhiên, & nbsp; pyscript & nbsp; hoạt động như một trình bao bọc, cho phép bạn nhúng mã python trực tiếp giữa các thẻ

<% import time %>
<%= time.strftime("%d:%m:%y",time.localtime(time.time())) %>
3 và tự động được thực thi bởi pyodide.

Ví dụ: sau đây minh họa một ví dụ Hello World nhỏ bằng Pyscript và thực hiện trực tiếp trong trình duyệt. Lưu ý cách hàm

<% import time %>
<%= time.strftime("%d:%m:%y",time.localtime(time.time())) %>
4 cho phép bạn xuất dữ liệu trực tiếp vào phần tử HTML.

Hướng dẫn how do i write a python script in html? - làm cách nào để viết tập lệnh python bằng html?
Python Hello World Ứng dụng Python sử dụng Pyscript

Các nhà phát triển cũng có thể mở rộng các trang Pyscript thông qua các gói Python bổ sung & nbsp; được tích hợp vào pyodide & nbsp; hoặc thông qua các gói được lưu trữ trên hệ thống tập tin cục bộ. Pyscript's get-started.md & nbsp; File cung cấp tài liệu về cách nhập các gói vào mã của bạn.

Ngoài việc thực thi mã được nhúng trong HTML, cũng có thể thêm trình soạn thảo mã trực tiếp vào trang HTML bằng thẻ

<% import time %>
<%= time.strftime("%d:%m:%y",time.localtime(time.time())) %>
5 để bạn có thể nhập mã và thực thi nó, như hiển thị bên dưới.

Hướng dẫn how do i write a python script in html? - làm cách nào để viết tập lệnh python bằng html?
Sử dụng trình soạn thảo của Pyscript

Sử dụng trình chỉnh sửa giúp bạn dễ dàng kiểm tra mã một cách nhanh chóng và xem những gì sẽ và sẽ không hoạt động với Pyscript.

Mặc dù JavaScript đã có thể thực hiện hầu hết mọi thứ bạn muốn tạo bằng Pyscript, với Python được coi là ngôn ngữ lập trình phổ biến nhất, Pyscript mở ra cơ hội cho nhiều dự án thú vị trên đường.

Để bắt đầu với Pyscript, bạn có thể truy cập trang dự án & NBSP của họ, trong đó cũng bao gồm nhiều ví dụ về mã.

Cho phép bạn có thể nhúng python trong các tài liệu HTML, tương tự với mod_python hoặc PHP.

Bản tóm tắt

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

Bên trong HTML

Cú pháp

Bằng cách kèm theo các câu lệnh Python trong thẻ, trình thông dịch Python sẽ thực thi các câu lệnh nói trên. Trong ví dụ sau, biến "Stored_time" sẽ được tạo và sẽ tiết kiệm thời gian trên phạm vi cục bộ.

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

Nếu kèm theo nó sẽ đánh giá câu lệnh và thay thế thẻ bằng kết quả của câu lệnh được thực thi. Trong ví dụ sau, HTML được tạo sẽ chứa ngày: Tháng: Năm từ đồng hồ nội bộ của thiết bị.

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

Vết lõm

Tuyên bố thụt

Một tệp được chuyển đổi thành mã Python, phải được thụt vào theo các quy tắc của Python; trong khi đó trong thụt HTML bình thường chỉ được sử dụng cho khả năng đọc.

Vì vậy, hãy cẩn thận nếu bạn trộn Python và HTML:

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

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

Để giảm thụt, sử dụng:

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

done

Trong ví dụ này, "thực hiện" sẽ được viết sau khi vòng lặp được hoàn thành.

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

(Đừng quên lần cuối cùng "xong" sẽ có cùng thụt với dòng 5) nhưng điều này:

    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 khi câu lệnh in trên dòng 2 thụt lại trở lại 0 (nó bắt đầu với HTML đơn giản).

Tag

Nếu bạn có mã phức tạp trong đó Python và HTML được trộn lẫn, hãy nhúng nó 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 là: Từ bây giờ trở đi và cho đến khi thẻ phù hợp, sử dụng thụt vào nguồn PIH và để lại như để tạo mã python trong ví dụ trên, thụt lề được sử dụng cho đến khi dòng 5 và sau đó bị bỏ qua nếu thẻ được thụt vào, Mã sau được thụt vào tương đối với nó:

    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,

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

Nếu bạn muốn thoát kịch bản trước khi kết thúc tài liệu, hãy nâng cao

SCRIPT_END exception
  raise SCRIPT_END,message

Viết vào đầu ra HTML

Nếu bạn muốn ghi vào đầu ra HTML mà không cần 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

Đối với ví dụ này, chúng tôi sẽ tạo một trình xử lý chung cho một kiểu tệp cho máy chủ web bằng cách sử dụng mô -đun: digiweb.

<% 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 trong 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ụ, việc tải lên các phần sau (mẫu.pih) sẽ chứng minh thông tin hiển thị về yêu cầu HTTP được chuyển cho 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 đề, args).

<% 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.

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

Nguồn

Bằng cách nhập mô -đun sau, bạn có thể sử dụng các tính năng này: Media: PythonInsideHtml.zip

Có liên quan

Mô -đun: Digiweb

© 2021Digi International Inc. Tất cả quyền được bảo lưu.Python Inside HTML Cập nhật ngày 11 tháng 6 năm 20182021 Digi International Inc. All rights reserved.
Python inside HTML updated on 11 Jun 2018 12:08 PM