Giter Club home page Giter Club logo

appengine-modules-helloworld-python's Introduction

Modules Hello World

This is a sample application using the Google App Engine Modules API. It demonstrates how to create multiple modules serving different functions as well as custom routing to different modules.

There are two main applications defined in helloworld.py and printenv.py. The helloworld application is the one from the Getting Started and is used for the default module. The other two modules, one for a mobile-frontend and another for a static-backend, both use printenv.py. This module has a single handler which prints all the WSGI and CGI environment variables associated with the request as well as the output of all methods offered by the Modules API.

In addition to these applications, there is custom routing defined via dispatch.yaml. Requests to any module for the path /mobile are served by the mobile-frontend module and similarly all requests for the path /work are served by the static-backend module.

Deploying

To deploy your each module for your application, run

$PATH_TO_SDK/appcfg.py update app.yaml mobile_frontend.yaml static_backend.yaml

using the Google App Engine SDK with version at least 1.8.2. To set-up the custom routing, you'll also need to run

$PATH_TO_SDK/appcfg.py update_dispatch .

from directory containing the application.

Products

Language

appengine-modules-helloworld-python's People

Contributors

danholevoet avatar dhermes avatar eobrain avatar fredsa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

appengine-modules-helloworld-python's Issues

how to import module with django framework?

I am using google app engine with the django framework.

I have two modules: default and helloworld

the app.yaml is as follows:

application: myapp
version: release
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /favicon.ico
  static_files: static/favicon.ico
  upload: static/favicon.ico
- url: /robots.txt
  static_files: static/robots.txt
  upload: static/robots.txt
- url: /static
  static_dir: static
- url: /_ah/queue/deferred
  script: google.appengine.ext.deferred.deferred.application
  login: admin
- url: /.*
  script: myapp.wsgi.application
  secure: always

I want all the myapp.appspot.com/helloworld/* will be routed to the helloworld module.

The dispatch.yaml is as follows:

application: myapp
dispatch:
- url: "*/helloworld/*"
  module: helloworld

Here is helloworld.yaml:

application: myapp
module: helloworld
version: 1
runtime: python27
api_version: 1
threadsafe: true
instance_class: B2
basic_scaling:
  max_instances: 3

handlers:
- url: /favicon.ico
  static_files: static/favicon.ico
  upload: static/favicon.ico
- url: /robots.txt
  static_files: static/robots.txt
  upload: static/robots.txt
- url: /static
  static_dir: static
- url: /_ah/queue/deferred
  script: google.appengine.ext.deferred.deferred.application
  login: admin
- url: /.*
  script: myapp.wsgi.application
  secure: always

However, when the coming url is myapp.appspot.com/helloworld/*, the page will be redirected to the login page. and the log shows /_ah/start 404.

I have seen the similar question in http://stackoverflow.com/questions/25978198/appengine-module-routing-with-dispatch-yaml-not-working which modifies wsgi config with webapp2 framework.

Here is my wsgi.py

import os, sys
sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, 'libs'))

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

I use appcfg update app.yaml helloworld.yaml and appcfg update_dispatch . to upload these settings.

How can I import this helloworld module correctly with the django framework?

Thank you.

Clarification on dispatch.yaml

I'm still trying to get a feel for how subdomains would get dispatched. The official documentation goes into detail with versions, modules and app-id but doesn't clarify how I set it up for simple things like account.domain.com and www.domain.com to route to different modules.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.