BaseHTTPRequestHandler avec une instance personnalisée
c'est mon serveur http:
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
class test:
def show(self):
return "aaaa"
class http_server:
def __init__(self, t1):
self.t1 = t1
server = HTTPServer(('', 8080), myHandler)
server.serve_forever()
class myHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write(self.t1.show()) #Doesnt work
return
class main:
def __init__(self):
self.t1 = test()
self.server = http_server(self.t1)
if __name__ == '__main__':
m = main()
J'ai besoin d'accéder à l'instance t1 à l'intérieur de myHander.
Est-il de toute façon comment le faire ?
Merci!
source d'informationauteur Peter
Vous devez vous connecter pour publier un commentaire.
- il un moyen de le faire est de définir la propriété à la classe :
Vous devez être attentif à ce que tous les endroits où vous utilisez myHandler que sera la même instance de t1
Légèrement meilleure version, où t1 ne sera pas la même pour chaque instance.
Je sais que je vais répondre assez tard, mais qui pourrait sans doute être utile pour les futurs téléspectateurs. Il est vraiment un moyen facile d'accéder à
t1
comme il a été demandé à l'aide de laserver
variable de laBaseHTTPRequestHandler
objet: