Let's begin by implementing a tiny application that displays a short message.
Creating a Simple Request Handler
         Create a directory named
         
          helloworld
         
         . All files for this application reside in this directory.
        
         Inside the
         
          helloworld
         
         directory, create a file named
         
          helloworld.py
         
         , and give it the following contents:
        
         This Python script responds to a request with an HTTP header that describes the content and the message
         
          Hello, World!
         
         .
        
Note: Ensure that you save the files you create as plain text. You may encounter errors otherwise.
Creating the Configuration File
         An App Engine application has a configuration file called
         
          app.yaml
         
         . Among other things, this file describes which handler scripts should be used for which URLs.
        
         Inside the
         
          helloworld
         
         directory, create a file named
         
          app.yaml
         
         with the following contents:
        
From top to bottom, this configuration file says the following about this application:
- 
           The application identifier is
           your-app-id. Every new application on App Engine has a unique application identifier. You'll choose the identifier for your application when you register it in the next step. Until then you can just leave the value here set toyour-app-idbecause this value is not important when developing locally.
- 
           This is version number
           1of this application's code. If you adjust this before uploading new versions of your application software, App Engine will retain previous versions, and let you roll back to a previous version using the administrative console.
- 
           This code runs in the
           python27runtime environment, API version1. Additional runtime environments and languages may be supported in the future.
- 
           This application is
           threadsafeso the same instance can handle several simultaneous requests. Threadsafe is an advanced feature and may result in erratic behavior if your application is not specifically designed to be threadsafe.
- 
           Every request to a URL whose path matches the regular expression
           /.*(all URLs) should be handled by theapplicationobject in thehelloworldmodule.
The syntax of this file is YAML . For a complete list of configuration options, see the app.yaml reference .
Testing the Application
With a handler script and configuration file mapping every URL to the handler, the application is complete. You can now test it with the web server included with the App Engine SDK.
          If you're using the Google App Engine Launcher, you can set up the application by selecting the
          
           File
          
          menu,
          
           Add Existing Application...
          
          , then selecting the
          
           helloworld
          
          directory. Select the application in the app list, click the Run button to start the application, then click the Browse button to view it. Clicking Browse simply loads (or reloads)
          
           http://localhost:8080/
          
          in your default web browser.
         
          If you're not using Google App Engine Launcher, start the web server with the following command, giving it the path to the
          
           helloworld
          
          directory:
         
google_appengine/dev_appserver.py helloworld/
The web server is now running, listening for requests on port 8080. You can test the application by visiting the following URL in your web browser:
          For more information about running the development web server, including how to change which port it uses, see
          
           the Dev Web Server reference
          
          , or run the command with the option
          
           --help
          
          .
         
Iterative Development
You can leave the web server running while you develop your application. The web server knows to watch for changes in your source files and reload them if necessary.
          Try it now: Leave the web server running, then edit
          
           helloworld.py
          
          to change
          
           Hello, World!
          
          to something else. Reload
          
           http://localhost:8080/
          
          or click Browse in Google App Engine Launcher to see the change.
         
To shut down the web server, make sure the terminal window is active, then press Control-C (or the appropriate "break" key for your console), or click Stop in Google App Engine Launcher.
You can leave the web server running for the rest of this tutorial. If you need to stop it, you can restart it again by running the command above.
Explaining the webapp2 Framework >>