さて、これはかなり基本的なはずのように見えましたが、私はそれを機能させることができません。正しいアドレス(たとえば、セーリングの場合はwww.url.com/sea?s= '1')に転送されていますが、リソースが見つからないという404エラーが発生します。さまざまなクエリパラメータを持つリンクのリストがあり、それらをPythonコードで異なる方法で処理したいと考えています。私はPythonとjinja2テンプレートシステムでGoogleAppEngineを使用しています。
これが私のHTMLです:
<h3><a href="/" class="center-it">Quick Navigation</a></h3>
<div class="span1">
<div class="span1">
<h4><a href="/sea">Sea</a></h4>
<ul>
<li><a href="/sea?s='1'">Sailing</a></li>
<li><a href="/sea?s='2'">Diving</a></li>
<li><a href="/sea?s='3'">Surfing</a></li>
<li><a href="/sea?s='4'">Kite Boarding</a></li>
<li><a href="/sea?s='5'">Kayaking</a></li>
</ul>
</div>
そしてここにPythonがあります:
class Sea(BlogHandler):
def get(self, s):
s = self.request.get('s')
if s == '1':
posts = posts = db.GqlQuery("select * from Post where sport=:1 order by created desc limit 30", "sailing")
elif s == '2':
posts = posts = db.GqlQuery("select * from Post where sport=:1 order by created desc limit 30", "diving")
elif s == '3':
posts = posts = db.GqlQuery("select * from Post where sport=:1 order by created desc limit 30", "surfing")
elif s == '4':
posts = posts = db.GqlQuery("select * from Post where sport=:1 order by created desc limit 30", "kiteboarding")
elif s == '5':
posts = posts = db.GqlQuery("select * from Post where sport=:1 order by created desc limit 30", "kayaking")
else:
posts = posts = db.GqlQuery("select * from Post where element=:1 order by created desc limit 30", "sea")
global visits
user = users.get_current_user()
logout = users.create_logout_url(self.request.uri)
self.render('sport.html', user = user, posts=posts, visits = visits, logout=logout)
更新:問題は実際には私のURL処理にあったコードではありませんでした。正解です:
app = webapp2.WSGIApplication([('/', MainPage),
(r'/sea', Sea)]