有谁可以给我一些关于如何让其他页面显示的指示? 我这是我的main.py
import webapp2
import os
import jinja2
jinja_environment = jinja2.Environment(autoescape=True,
loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__))))
class MainPage(webapp2.RequestHandler):
def get(self):
template = jinja_environment.get_template('index.html')
self.response.write(template.render())
application = webapp2.WSGIApplication([
('/',MainPage),
], debug=True)
这是我的app.yaml
application: ftmyersptcong
version: 1
runtime: python27
api_version: 1
threadsafe: true
libraries:
- name: jinja2
version: latest
handlers:
- url: /styles
static_dir: styles
- url: /images
static_dir: images
- url: /scripts
static_dir: scripts
- url: /.*
script: main.application
当我点击我的html代码中已经隐藏的其他页面的任何链接时,我一直收到404 Not Found页面。 这就是日志中的内容:
INFO 2014-11-12 18:15:42,434 module.py:652] default: "GET / HTTP/1.1" 500 -
INFO 2014-11-12 18:28:21,151 module.py:652] default: "GET / HTTP/1.1" 200 1274
INFO 2014-11-12 18:28:21,272 module.py:652] default: "GET /styles/main.css HTTP/1.1" 200 1880
INFO 2014-11-12 18:28:27,512 module.py:652] default: "GET /downloads.html HTTP/1.1" 404 154
答案 0 :(得分:0)
您的app.yaml(图像,脚本,样式)中定义了一些静态目录路由 - 这就是您的css文件正常加载的原因,例如。那么你就得到了所有与那些目录不匹配的东西#34; application"在你的" main.py"文件。
在那里,你目前只定义一条路线 - " /"和MainPage被定义为该路由的处理程序。拨打" /downloads.html"被发送到同一个路由器,但因为它不匹配" /"路线,返回404。
您需要在main.py中定义其他路径和处理程序。例如:
application = webapp2.WSGIApplication([
('/',MainPage),
('/downloads.html',DownloadPage)
], debug=True)
然后,您可以像MainPage一样定义DownloadPage来处理该路由。您也可以在路径定义中进行模式匹配,以传递变量信息,但是对于您的示例,上述情况应该有效。