2016-12-03 2 views
0

Ich bin zum ersten Mal mit Web.py rumspielen, nach Zed Shaws lernen Python The Hard Way Tut # 50. Ich versuche, mehrere Webseiten einzurichten, aber nur scheinen kann Index/arbeiten. Ich habe alles andere getestet und alles funktioniert. Als ichURL-Behandlung in web.py

ersetzen
urls = (
     '/', 'Index', 
    ) 

mit

urls = (
     '/', 'foo', 
    ) 

lädt es meine foo Webseite

aber wenn ich

urls = (
    '/', 'Index', 
    '/foo', 'FOO', 

) 

versuchen und localhost/foo eingeben: 8080 in meinem Browser ich eine Fehlerverbindung verweigert Ich habe den Server getötet, es zwischen meinen Code Änderungen neu gestartet t, um sicherzustellen, und nichts ändert sich.

Ich habe mehrere Beispiele ausprobiert und nutzte die Kochbuchbeispiele ohne Erfolg, dieses hat mich ratlos gemacht. Bitte zeigen Sie mir, was ich vermisse.

Code unten

app.py

import web 

    urls = (
     '/', 'Index', 
     '/foo', 'FOO', 

    ) 

    app = web.application(urls, globals()) 

    render = web.template.render('templates/') 

    class Index(object): 
     def GET(self): 
      greeting = "Hello World" 
      return render.index(greeting = greeting) 

    class FOO(object): 
     def GET(self): 
      foo_greeting = "Hello foo" 
      return render.foo(foos_greeting = foo_greeting) 

    if __name__ == "__main__": 
     app.run() 

index.html

$def with (greeting) 

    <html> 
     <head> 
      <title>Gothons Of Planet Percal #25</title> 
     </head> 
    <body> 

    $if greeting: 
     I just wanted to say <em style="color: green; font-size:    2em;">$greeting</em>. 
    $else: 
     <em>Hello</em>, world! 

    </body> 
    </html> 

foo.html

$def with (foos_greeting) 

    <html> 
     <head> 
      <title>Gothons Of Planet FOO</title> 
     </head> 
    <body> 

    $if foos_greeting: 
     I just wanted to say <em style="color: green; font-size:   2em;">$foos_greeting</em>. 
    $else: 
     <em>Hello</em>, foo foo! 

    </body> 
    </html> 

Antwort

0

Komma löschen nach 'FOO' Ausdruck

urls = (
'/', 'Index', 
'/foo', 'FOO' 
) 

und

localhost:8080/foo 
+0

Ah ok easy fix laufen, thx –

+1

Comma ist kein Problem, aber ja, müssen Sie die Portnummer haben ': 8080' nach dem Host, nicht nach dem'/foo' Pfad. – pbuck