Summary
We covered a lot of ground in this chapter. We saw that sometimes, storing the computed results can be useful for performance. So, we introduced Memcache, and that is how we can add and delete keys. Then, we turned our attention towards multi-tenancy. We saw that we can use namespace features for the compartmentalization of our app, thus letting multiple users, or organizations use our application without getting into the complicated logic at our end. Next, we looked at services provided for the user and how to create the login and logout URLs. We learned how to log in and how to log users out.
From that point, we focused on how to upload files using Blobstore. We learned that uploads are handled by Blobstore and once the uploads are done, our application receives an HTTP POST request. Each uploaded file has a corresponding entity of the __BlobInfo__
kind, which is represented by the BlobInfo
class. We explored how Blobstore works internally by using HTTP external request bodies....