web.application
nimmt eine nicht dokumentierte fvars
Argument an dem die web.py tutorial gibt globals()
etwa so:Was ist der Zweck der Übergabe von "globals()" als web.py fvars?
import web
class index:
def GET(self):
return "Hello, world!"
urls = (
'/', 'index'
)
if __name__ == "__main__":
app = web.application(urls, globals())
Ich habe mindestens eine Anwendung gesehen, die locals()
gibt. Wofür wird diese Variable verwendet und warum möchten Sie sie übergeben? locals()
oder globals()
?
Das scheint eine vernünftige Erklärung zu sein. Das Nachschlagen scheint mir jedoch wirklich seltsam zu sein; Wenn Sie einen vollständig qualifizierten Klassennamen übergeben, warum würden Sie dann ein Wörterbuch weitergeben? Vielleicht unterstützt es beide Fälle (z. B. lokale Namen und ein Diktat ODER vollständig qualifizierte Namen und ein leeres Diktat). –
@ AndréCaron, web.py muss in der Lage sein, den Klassennamen irgendwo nachzuschlagen, daher das globale Wörterbuch. Es kann den Klassennamen nicht in seinen eigenen Globals nachschlagen, es braucht Ihre App. –
Sicher kann, es muss nur den Punktnamen wie andere Python-Frameworks auflösen. –