Now that you have read my tutorial on how to host websites with Google App Engine, here are the two files β app.yaml and main.py - that are responsible for all the magic. Thank you Pratham for writing this.
With app.yaml, we share a list of files with Google App Engine SDK that should be uploaded only while main.py file handles the HTTP requests when serving the website.
1. Source code for app.yaml
application:
version: 1
runtime: python
api_version: 1
handlers:
- url: /(.*\.(gif|png|jpg|ico|js|css))
  static_files: \\1
  upload: (.*\.(gif|png|jpg|ico|js|css))
- url: .*
  script: main.py2. Source code for main.py
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template
class MainHandler(webapp.RequestHandler):
  def get (self, q):
    if q is None:
      q = 'index.html'
    path = os.path.join (os.path.dirname (__file__), q)
    self.response.headers ['Content-Type'] = 'text/html'
    self.response.out.write (template.render (path, {}))
def main ():
  application = webapp.WSGIApplication ([('/(.*html)?', MainHandler)], debug=True)
  util.run_wsgi_app (application)
if __name__ == '__main__':
  main ()In our example, we are putting all the static files like images, CSS, html, etc. in the root folder but you may also organize them as sub-directories and the app.yaml file should be updated according.
 
  
  
  
  
 