POST方法执行正确的POST,然后重新返回整个pag

2024-04-20 09:28:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用post来获取一个参数,这个参数基于一个单选按钮,用户选择然后提交,然后执行正确的操作,但是在页面下面会出现一个用户没有登录的新页面。我不太清楚发生了什么,但这里是适用的代码,我使用的当然是HTML加上谷歌appengine与python和jinja2。你知道吗

此处为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)

我的主页.html文件编号:

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

Tags: namebrselfinputgetvaluerequesttype
1条回答
网友
1楼 · 发布于 2024-04-20 09:28:07

从您的问题中,我了解到用户未登录,在这种情况下,请尝试以下操作:

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)) 

相关问题 更多 >