gpt4 book ai didi

python - 如何在GAE中设置动态URL?

转载 作者:行者123 更新时间:2023-12-01 05:59:57 24 4
gpt4 key购买 nike

我是 GAE 的新手。我现在在 GAE 上托管一个网站。我想更改http://abc.com/about.html的URL至http://abc.com/about/我应该怎么做?谢谢。

这是我的 main.py:

import webapp2
from google.appengine.ext.webapp2 import template
from google.appengine.ext.webapp2 import util
import os

class MainHandler(webapp2.RequestHandler):
def get(self):
template_values = {}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))

class About(webapp2.RequestHandler):
def get(self):
self.response.our.write(template.render('about.html',None))

def main()
application = webapp2.WSGIApplication([(
'.', MainHandler),
('about', About),
])
util.run_wsgi_app(application)

app = webapp2.WSGIApplication([('/', MainHandler)],
debug=True)

这是我的 app.yaml:

application: nienyiho-test
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico

- url: .*
script: main.app

- url: /about
static_files: about.html
upload: about.html

libraries:
- name: webapp2
version: "2.5.1"

最佳答案

您将需要更改路线。您没有向我们提供创建路线的代码,但如果您基本上提供静态 HTML 文件,那么正如 @AdamCrossland 注释所述,您可以使用 app.yaml 文件来做到这一点。

您的 app.yaml 文件应类似于:

application: your_app
version: 1
runtime: python27
api_version: 1
default_expiration: "1d"
threadsafe: True

- url: /about.html
static_files: static/html/about.html
upload: static/html/about.html
secure: never

- url: /about
script: main.app

- url: /.*
script: main.app

您还可以按照 @NickJohnson 的建议使用正则表达式 here如果您愿意,您可以删除安全行,但我在一些应用程序中使用 https,并使用该行来强制哪些路由是安全的,哪些是不安全的。

main.py

import webapp2
from google.appengine.ext.webapp2 import template
from google.appengine.ext.webapp2 import util
import os

class MainHandler(webapp2.RequestHandler):
def get(self):
template_values = {}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))

class AboutHandler(webapp2.RequestHandler):
def get(self):
self.response.our.write(template.render('about.html',None)

# Setup the Application & Routes
app = webapp2.WSGIApplication([
webapp2.Route(r'/', MainHandler),
webapp2.Route(r'/about', AboutHandler)
], debug=True)

编辑:20120610 - 添加了 main.py 并更新了 app.yaml 以显示如何路由生成的内容。

关于python - 如何在GAE中设置动态URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10967847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com