我目前正在学习 Udacity 的 Web 开发课程,当我浏览他们的示例源代码之一时,我遇到了一个疑问。现在这是我卡住的代码:
class PostPage(BlogHandler):
def get(self, post_id):
key = db.Key.from_path('Post', int(post_id), parent=blog_key()) #the created key is a key of an entity of kind 'Post' with id 'post_id' having a parent of kind defined by blog_key()
post = db.get(key) #the get() function basically retrieves the instance(in this case, post of the blog)
#that has the 'key' as its unique identifier.
if not post:
self.error(404)
return
self.render("permalink.html", post = post)
现在,该课程的教授说如果提交了帖子,则 post_id 会从 URL 传递。这是相同的处理程序:
('/blog/([0-9]+)', PostPage)
那么用户提交post的时候post_id是怎么产生的呢?这些 id 是在什么基础上生成的?它们是随机的吗?另外,post_id 是如何在 PostPage 处理程序的 post() 函数中实际传递的?