2014-10-10 4 views
-3

브라우저의 python 스크립트에서 html을 표시하고 싶습니다. 이 스크립트를 브라우저에서 볼 수 있도록 실행하려면 어떻게해야합니까? 지금까지 코드 :브라우저에서 파이썬 스크립트를 실행하는 방법은 무엇입니까?

index.py

### to run python in browser i have added below lines 
#!/usr/bin/env python 
header = open("header.html", "r") 
print header 

header.html

<!DOCTYPE html> 
<html> 
<head> 
    <title>A Python To Do list</title> 
    <link rel="stylesheet" type="text/css" href=""> 
</head> 
<body> 
+0

기본적으로 당신이 할 수 없습니다. 우리 같은 장고, 병 등을 사용하십시오. – nu11p01n73R

+0

브라우저에서 스크립트를 실행하고 시간을 내 주셔서 감사합니다. @ nu11p01n73R –

+0

왜 downvote downvoters –

답변

1

Bassically이 같은 BaseHTTPServer 사용하고 코드를 실행할 수 있습니다.

localhost.py

#!/usr/bin/env python 

import BaseHTTPServer 

class HTTPFrontend(object) : 
    def __init__(self, port) : 
     self.server = BaseHTTPServer.HTTPServer(('', port), self.RequestHandler) 
     print "Web interface listening on http://localhost:" + str(port) 

    def start(self) : 
     self.server.serve_forever() 

    def stop(self) : 
     self.server.socket.close() 

    class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler) : 
     def do_GET(self) : 
      self.send_response(200) 
      self.send_header('Content-Type', 'text/html') 
      self.end_headers() 

      templateFile = open("home.html") 
      template = templateFile.read() 
      templateFile.close() 

      message = "this is how simple templating works" 

      self.wfile.write(template % {'message': message}) 

     def do_POST(self) : 
      self.send_response(200) 
      self.send_header('Content-Type', 'text/html') 
      self.end_headers() 
      self.wfile.write("this is a POST") 

if __name__ == "__main__": 
    server = HTTPFrontend(8080) 
    server.start() 

home.html을

<html> 
    <head> 
     <title>Python | Home</title> 
    </head> 
    <body> 
      %(message)s 
    </body> 
</html> 

그리고 당신은 당신의 브라우저에서 http://localhost:8654을 열 경우 얻을 :

this is how simple templating works 
+0

이 파일은 어느 곳에서든지 –

+0

폴더에 넣을 수 있습니다. html 파일이 python 파일의 형제 파일 인 경우 localhost.py – rynangeles

관련 문제