Erstelle eine eigene Profilseite für jeden Benutzer Python

Ich verwende die Google App Engine in Python mit einer Jinja2 Template Engine.

Dies mag eine dumme Lösung sein, aber ich habe eine Liste von ein paar Tausend Benutzern und im Moment können sie nur auf ihre eigenen Profilseiten zugreifen und müssen angemeldet sein, um dies zu tun. Ich möchte jedem Benutzer eine eindeutige URL für seine Profilseite geben und frage mich, wie ich das machen soll. Ich bin nicht sicher, ob dies funktionieren würde, aber könnte so etwas machbar sein?

class ProfilePage
    userlist = GQL query to return all users in the system
    user = users.get_by_id()
    for user in userlist:
        id = user.federated_id

        posts = GQL query to return all posts by that user

        self.render('/profile/id', posts=posts)

app = webapp2.WSGIApplication([('/', MainPage),
                               ('/profile/([0-9]+)', ProfilePage),])

In meinem HTML-Code für die Profilseite wird nur der Name des Benutzers und anschließend alle aktuellen Beiträge des Benutzers angezeigt.

Aktualisieren:

Hier ist also mein aktueller Code, aber ich erhalte nur eine 404-Fehlermeldung:

class ProfilePage(webapp2.RequestHandler):
  def get(self, profile_id):
    user = User.get_by_id(profile_id)
    #profile_id = some unique field
    if user:
       #Get all posts for that user and render....
       theid = user.theid
       personalposts = db.GqlQuery("select * from Post where theid =:1 order by created desc limit 30", theid)
    else:
        personalposts = None
    global visits
    logout = users.create_logout_url(self.request.uri)
    currentuser = users.get_current_user()
    self.render('profile.html', user = currentuser, visits = visits, logout=logout, personalposts=personalposts)

Wie kann ich es testen? Ich habe versucht, einfach www.url.com/profile/https://www.google.com/accounts/o8/id?id=AItOawlILoSKGNwU5RuTiRtXug1l8raLEv5-mZg einzugeben

Update: Die ID, die ich abgerufen habe, war nicht die OpenID-URL, sondern eine app-spezifische ID, die jedem Benutzer zugewiesen wurde und daher die richtige ist

Antworten auf die Frage(1)

Ihre Antwort auf die Frage