[Twisted-Python] twisted.web with dynamic + static content

Donal McMullan donal.mcmullan at gmail.com
Tue Oct 30 16:41:27 MDT 2018


Try replacing:
isLeaf = True
with
isLeaf = False


On Tue, 30 Oct 2018 at 21:32, Jeff Grimmett <grimmtooth at gmail.com> wrote:

> I'm sure I'm overlooking something obvious here but I just can't get my
> head around it.
>
> Here's the setup: twisted.web server that generates dynamic content. Child
> that serves up static content, e.g. css and favoicon.  However, the static
> content isn't making it. Instead, any hit to localhost/static actually
> yields up a copy of / again.
>
> Here's the server code
>
> import sys
>
> from twisted.internet import reactor, endpoints
> from twisted.web import server
> from twisted.web.resource import Resource
> from twisted.web.static import File
>
> sys.path.append('lib')
>
> content = """
> <!DOCTYPE html>
> <html lang="en">
> <head>
>     <meta charset="UTF-8">
>     <link rel="stylesheet" href="/static/test.css" type="text/css" />
> </head>
> <body>
>     <span class='twistedTest'>This</span> is a test
> </body>
> </html>
> """
>
>
> class tServer(Resource):
>     isLeaf = True
>
>     def render_GET(self, request):
>         return bytes(content, "utf-8")
>
>
> if __name__ == "__main__":
>     root = tServer()
>     root.putChild(b"static", File("static"))
>
>     site = server.Site(root)
>     endpoint = endpoints.TCP4ServerEndpoint(reactor, 8080)
>     endpoint.listen(site)
>
>     reactor.run()
>     print("Shutting down!")
>
> It's run with the command 'python tserver.py'.  The expectation is that
> what is inside the custom <span> will be red.
>
> In the same dir as the script is a subdir 'static' with the css file
> inside it.
>
> If I replace 'root' with     root = Resource() then / doesn't serve up
> anything, but /static is a directory listing of the static directory.
>
> The dynamic server is basically a copy of several tutorials cooked down to
> something that I could use to demonstrate the problem.
>
> What am I missing here? /headscratch
>
> Regards,
>
> Jeff
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20181030/d557aa76/attachment-0002.html>


More information about the Twisted-Python mailing list