General Imports, using jinja2 to populate templates into htmls.
import jinja2
import webapp2
Important import to use Users API:
from google.appengine.api import users
Setting of Jinja environment: [into the example the tehcnology selected to populate the information into the frontend]
JINJA_ENVIRONMENT = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
extensions=['jinja2.ext.autoescape'],
autoescape=True)
Concrete Handler:
class MainPage(webapp2.RequestHandler):
def get(self):
user = users.get_current_user()
if user:
url = users.create_logout_url(self.request.uri)
You can include more logic here for users
else:
url = users.create_login_url(self.request.uri)
Templates to pass information using jinja2. For this example, the user object and the url string.
template_values = {
'user': user,
'url': url,
}
JINJA_ENVIRONMENT.add_extension('jinja2.ext.do')
Using index.html example. [traditional html page]
template = JINJA_ENVIRONMENT.get_template('index.html')
self.response.write(template.render(template_values))