1

正確な説明の仕方がわからないので、まずお詫び申し上げます。

私はjinja2とBaseHandlerを使用しており、renderはhtmlをrespone.writeする機能です。

次のコードは問題なく動作します。

class CategoryHandler(BaseHandler):
    def get(self, *a, **kw): 
        sURL = self.request.url.split("-")
        category = sURL[-1]
        question = Questions.gql("WHERE tags='%s'"%sURL[-1]).run()
        self.render("allquestions.html",questions=question)

PAGE_RE = r'((?:[a-zA-Z0-9_-]+/?)*)?'

app = webapp2.WSGIApplication([('/', MainPageHandler)
                            ,('/category-'+PAGE_RE, CategoryHandler)
                            ],debug=True)

そして、リンクはこのフォームにあります/category-football

上記のコードを変更し、"-" の代わりに "/" を追加すると、ページをロードしようとすると PC がウォームアップし始め、ファンが狂ってページがロードし続けます。本当にクレイジーなファンの数分後、私のPCは再起動しました。

コードを変更すると、次のようになります

    class CategoryHandler(BaseHandler):
    def get(self, *a, **kw): 
        sURL = self.request.url.split("/")
        category = sURL[-1]
        question = Questions.gql("WHERE tags='%s'"%sURL[-1]).run()
        self.render("allquestions.html",questions=question)

PAGE_RE = r'((?:[a-zA-Z0-9_-]+/?)*)?'

app = webapp2.WSGIApplication([('/', MainPageHandler)
                            ,('/category/'+PAGE_RE, CategoryHandler)
                            ],debug=True)

このようなリンク そして、リンクはこの形式です/category/football

リンクが最初の方法で機能する理由がわかりません.2番目の方法でこの奇妙なバグがあります。

更新 1:

GAE のログで何かを見つけました。

app.yamal で、このように静的に設定しました

  handlers:
- url: /assets
  static_dir: templates/assets

そしてhtmlテンプレートでは、私はそれらをこのように呼びます

<link rel="stylesheet" href="./assets/bootstrap/css/bootstrap.min.css" />

ページをロードすると、ログコンソールに次のように表示されます

INFO     2013-05-29 16:42:26,197 server.py:585] default: "GET /category/assets/css/style.css HTTP/1.1" 500 -

今何か助けて?

4

1 に答える 1

0

問題が見つかり、問題なくロードできるようになりました。しかし、なぜそれが無限ループを行っていたのかはまだわかりません。他の状況では、エラー 500 が発生しました。

問題は app.yamal にあり、css&js ファイルを呼び出していたときに発生しました。

<link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css" />

最初にもう 1 つのドットを追加します。問題は解決しましたが、なぜこの奇妙なループが発生したのか疑問に思っています。

于 2013-05-29T18:27:39.420 に答える