2

投稿を使用して、ユーザーが選択して送信するラジオボタンに基づいてパラメーターを取得すると、正しい操作が実行されますが、ページの下に、ユーザーがログインしていないまったく新しいページが表示されます。何が起こっているのかよくわかりませんが、ここに該当するコードがあります。もちろんHTMLに加えて、Pythonとjinja2でgoogleappengineを使用しています。

ここのHTML:

<form method="POST">
<input type="radio" name="category" value="discussion">Discussion<br>
<input type="radio" name="category" value="adventures">Adventures<br>
<input type="radio" name="category" value="reviews">Reviews<br>
<input type="radio" name="category" value="badges">Badge Applications<br>

<input type="submit" class="btn btn-medium btn-primary" value="Filter!">
</form>

ここにPython:

def post(self):
    category = self.request.get('category')

    if category:
        user = users.get_current_user()
        logout = users.create_logout_url(self.request.uri)
        global visits

        category = self.request.get('category')                
        posts = db.GqlQuery("select * from Post where category=:1 order by created desc limit 30", category)
        self.render("home.html", posts=posts, user=user, visits=visits, logout=logout)

私のhome.htmlドキュメント:

        {% for post in posts %}
            {{post.render() | safe}}
            <br>
        {% endfor %}
4

1 に答える 1

0

あなたの質問から、ユーザーがログインしていないことがわかりました。この場合、次のことを試してください。

def post(self):     
  category = self.request.get('category')      
  if category:         
    user = users.get_current_user()         
    if user:
      logout = users.create_logout_url(self.request.uri)         
      global visits          
      category = self.request.get('category')                         
      posts = db.GqlQuery("select * from Post where category=:1 order by created desc limit 30", category)         
      self.render("home.html", posts=posts, user=user, visits=visits, logout=logout) 
    else:
      self.redirect(users.create_login_url(self.request.uri)) 
于 2012-06-28T05:22:08.377 に答える