2015-07-19 2 views
1

Je suis assez novice dans le développement web. J'essaie d'apprendre à développer un service web sur google-app-engine, mais en utilisant plutôt le template, jinja2, que le tutoriel google me demande, je voudrais que la page soit construite côté client et utilise angularjs. Je voudrais avoir quelques conseils sur la façon d'organiser le projet, yaml, comment nourrir le javascript à partir de l'application.py je vais apprécier cela.google app engine python

Thanx.

+0

quel est le problème? Javascript est juste un fichier statique. – marcadian

Répondre

0

Vous pouvez organiser le projet comme tout autre projet AngularJS, vous pouvez en savoir plus sur l'organisation de projets de AngularJS dans le lien suivant:

AngularJS application file structure

Par exemple:

  • project_directory
    • app
      • actifs (images, polices, etc.)
      • scripts (contrôleurs, directives, services, plugins, etc.)
      • styles (css, etc.)
      • essais (unité)
      • vues (html, etc.)
      • index.html
    • app.py
    • app.yaml

Dans votre app.yaml ajouter les gestionnaires:

- url:/
    static_files: app/index.html 

- url: /.* 
    script: app.application 

Pour obtenir des données de de app.py, vous aurez besoin de faire requêtes HTTP à l'adresse de classe python. Par exemple:

Dans le app.py:

# [START UserLogout] 
class UserLogout(webapp2.RequestHandler): 
    def get(self): 
     url_logout = users.create_logout_url('/') 
     self.response.out.write(url_logout) 
# [END UserLogout] 

et:

application = webapp2.WSGIApplication([ 
    ('/SampleClass', SampleClass), 
    ('/UserLogout', UserLogout), 
    (decorator.callback_path, decorator.callback_handler()) 
], debug=True) 

Dans cet exemple, faire une demande pour obtenir l'URL et rediriger l'déconnexion utilisateur:

function logoutCtrl($http, $scope) { 
     $scope.logoutUrlClick = function() { 
     $http.get('UserLogout'). 
     success(function(data_logout, status, headers, config) { 
      // when the response is available 
      window.location= data_logout; 
     }). 
     error(function(data_logout, status, headers, config) { 
      // when server returns response with an error status. 
      // some error notification 
     }); 
     }; 
}; 

Pour en savoir plus sur les méthodes $ http:

https://docs.angularjs.org/api/ng/service/$http