В настоящее время я прохожу через курс веб-разработки от Udacity, и, когда я проходил один из своих исходных кодов для создания постоянной ссылки для каждой отдельной записи в блоге, я столкнулся с сомнения. Теперь вот код, где я застрял:Google App Engine: Постоянная ссылка
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_id, когда пользователь отправляет сообщение? И на каком основании генерируются эти идентификаторы? Они случайны? Кроме того, как передается post_id в функции post() обработчика PostPage?
Вы были прямо до того момента, когда вы сказали, что идентификаторы хранилища являются последовательными. Это не верно в GAE на некоторое время: теперь они распределены более или менее случайным образом, чтобы избежать неэффективности из-за кластеризации. –
Ссылки действительно помогли. Спасибо @Ashish! –
Привет, ребята, я больше не могу получить доступ к общим ссылкам. Все они перенаправляются на https://discussions.udacity.com/, если возможно, делитесь обновленными постоянными ссылками. – Deep