我完全不熟悉Python,我想使用它創建網頁(但不使用Web框架或模板模塊)。最低要求是什麼?你能建議一個簡單的設置?使用純Python生成網頁的輕量級設置
謝謝!
編輯:我不想盡一切代價極簡主義。我在尋找的是一個簡單而通用的解決方案,它接近語言(並且不強加設計範例,例如MVC)。
我完全不熟悉Python,我想使用它創建網頁(但不使用Web框架或模板模塊)。最低要求是什麼?你能建議一個簡單的設置?使用純Python生成網頁的輕量級設置
謝謝!
編輯:我不想盡一切代價極簡主義。我在尋找的是一個簡單而通用的解決方案,它接近語言(並且不強加設計範例,例如MVC)。
我走的流程,我會建議使用輕量級的框架。
首先,網絡應用程序使您的服務器面臨安全風險,因此使用由大多數開發人員(更多的眼球來修復漏洞)維護的東西是很好的。
此外,如果你想「保持接近語言」,你需要某種抽象層來管理HTTP的pythonic方式。 Python是關於高層次的[包含電池]。
該框架的一些保持非常接近python的語法,語義和風格。以webpy爲例。我覺得這句話很能背後webpy的理念:
「的Django讓你寫在Django網絡應用的TurboGears讓你寫在TurboGears的Web應用程序Web.py讓你用Python語言編寫Web應用程序。」亞當 - 阿特拉斯
另外一個很好的候選人,簡潔和使用「常規」蟒來說是cherrypy。從他們的網站:
CherryPy允許開發人員構建Web應用程序的方式與構建任何其他面向對象的Python程序的方式大致相同。 [...] CherryPy支持的Web應用程序實際上是獨立的Python應用程序,它嵌入了自己的多線程Web服務器。您可以在任何可以運行Python應用程序的地方部署它們
只要運行這個命令
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
沒有什麼比這
更輕便現在看CGIHTTPServer。PY在Python庫更多的想法
清潔WSGI應用程序,沒有一個完全成熟的框架:
from wsgiref.simple_server import make_server
def application(environ, start_response):
# Sorting and stringifying the environment key, value pairs
response_body = ['%s: %s' % (key, value)
for key, value in sorted(environ.items())]
response_body = '\n'.join(response_body)
status = '200 OK'
response_headers = [('Content-Type', 'text/plain'),
('Content-Length', str(len(response_body)))]
start_response(status, response_headers)
return [response_body]
# Instantiate the WSGI server.
# It will receive the request, pass it to the application
# and send the application's response to the client
httpd = make_server(
'localhost', # The host name.
8051, # A port number where to wait for the request.
application # Our application object name, in this case a function.
)
# Wait for a single request, serve it and quit.
httpd.handle_request()
然後你可以使用nginx的:http://wiki.nginx.org/NgxWSGIModule
這是最穩定的,安全的和裸到骨骼設置。
更多示例:https://bitbucket.org/lifeeth/mod_wsgi/src/6975f0ec7eeb/examples/。
這是最好的學習方式(如你所問)。我已經走了這條路。
謝謝Flavius,我感謝你的回答以及使用nginx的建議。 –
最低要求是Python和Web框架。 ;-) – Keith
「...並執行網頁...」?咦?你是什麼意思? –
@Chris,也許這意味着用IE瀏覽它們;) –