Sử dụng một cái gì đó như CherryPy hoặc paste.httpserver. Bạn có thể sử dụng máy chủ của wsgiref, và nó thường hoạt động ổn định cục bộ, nhưng nếu bạn đang làm Ajax, tính chất đơn luồng của wsgiref có thể gây ra một số kết quả kỳ lạ, hoặc nếu bạn làm một yêu cầu con bạn sẽ nhận được một điều kiện chủng tộc. Nhưng đối với hầu hết các trường hợp, nó sẽ ổn thôi. Nó có thể hữu ích cho bạn không có máy chủ được nhúng luồng (cả CherryPy và paste.httpserver được tạo luồng), trong trường hợp đó wsgiref sẽ hữu ích (tất cả các yêu cầu sẽ chạy từ cùng một luồng).
Lưu ý rằng nếu bạn sử dụng CherryPy hoặc paste.httpserver, tất cả các yêu cầu sẽ tự động xảy ra trong subthreads (những gói làm thread sinh ra cho bạn), và có thể bạn sẽ không thể trực tiếp chạm vào mã GUI từ mã web của bạn (vì mã GUI thường không thích xử lý bởi các luồng). Đối với bất kỳ khối mã máy chủ nào, vì vậy bạn cần tạo ra một luồng để khởi động máy chủ. Twisted có thể chạy trong vòng lặp sự kiện GUI bình thường của bạn, nhưng trừ khi điều đó quan trọng, nó làm tăng thêm sự phức tạp.
Không sử dụng BaseHTTPServer hoặc SimpleHTTPServer, họ là ngớ ngẩn và phức tạp và trong tất cả trường hợp bạn có thể sử dụng thì bạn nên sử dụng wsgiref để thay thế. Mỗi trường hợp đơn, vì wsgiref có một API sane (WSGI) trong khi các máy chủ này có các API ngớ ngẩn.
Nguồn
2010-06-09 04:27:10
Tập lệnh này (http://bitbucket.org/julian/hatta-mirror/src/tip/hatta_gtkicon.py) đến rất gần với những gì tôi đang tìm kiếm. Nó cũng sử dụng wsgiref. – btbytes