Код здесь.Python скрученный putChild не пересылает ожидаемый
from twisted.web.static import File
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import ssl, reactor
from twisted.python.modules import getModule
import secure_aes
import urllib.parse
import cgi
import json
import os
import hashlib
import coserver
import base64
import sim
if not os.path.exists(os.path.join(os.getcwd(),'images')):
os.mkdir(os.path.join(os.getcwd(),'images'))
with open ('form.html','r') as f:
fillout_form = f.read()
with open ('image.html','r') as f:
image_output = f.read()
port = 80#int(os.environ.get('PORT', 17995))
class FormPage(Resource):
#isLeaf = True
def getChild(self, name, request):
print('GC')
if name == '':
return self
return Resource.getChild(self, name, request)
def render_GET(self, request):
print(request)
#do stuff and return stuff
root = FormPage()
root.putChild('rcs', File("./images"))
#factory = Site(FormPage())
factory = Site(root)
reactor.listenTCP(port, factory)
reactor.run()
Как вы можете видеть, я root.putChild
к концу вещей, ожидая, что, когда я добрался до http://site/rcs
я получаю данный список каталогов содержимого ./images
но, конечно, не бывает. Что мне не хватает? Я пробовал много вещей, предложенных от here. Кроме того, this one не работает, потому что это всегда служит для статических файлов. Он все время переходит к getChild независимо от того, задано ли putChild или нет.
Я не могу воспроизвести проблему. Я удалил кучу посторонних вещей, но оставил ядро нетронутым - и он служит для списка каталогов для меня. –
Какая версия Twisted, Python, какая ОС и т. Д. –
Python 3.5, Windows 10. Нет. – Luke