2012-01-10 4 views
1

J'ai ce petit jeu de code Python sur le GAE, en essayant de télécharger une image au datastore:Charger une image au datastore GAE

class UploadPage(webapp.RequestHandler): 
    def get(self): 
    self.response.out.write("""<html><body> 
      <form action="/addimg" enctype="multipart/form-data" method="post"> 
      <div><label>Project Name</label></div> 
      <div><textarea name="title" rows="2" columns "60"></textarea></div> 
      <div><label>Despcription:</label></div> 
      <div><textarea name="content" rows="3" cols="60"></textarea></div> 
      <div><label>Image</label></div> 
      <div><input type="file" name="img"/></div> 
      <div><input type="submit" value="Upload" /></div> 
      </form> 
     </body> 
     </html>""") 

class addimg(webapp.RequestHandler): 
    def post(self): 
    images = ImgUpload() 
    imgtitle = self.request.get('title') 
    imgcontent = self.request.get('content') 
    headpic = self.request.get('img') 
    images.headpic = db.Blob(headpic) 
    images.imgtitle = imgtitle 
    images.imgcontent = imgcontent 
    images.put() 
    self.redirect('/upload') 

Quand vous allez sur le site, cliquez sur Envoyer, il va à l'addimg et s'arrête et ne termine pas le mettre ou rediriger, je ne suis pas sûr d'où je l'ai manqué, toute orientation est très reconnaissante.

+0

Pouvez-vous dire ce que la dernière ligne de votre fonction de poste CHAISE est? – jknupp

+0

@jknupp les journaux dans le serveur d'applications ont seulement la redirection vers le poste – Kevin

+0

Je ne vois pas de bugs dans votre code mais ce n'est pas tout le code. Si vous mettez une instruction de journalisation sur toutes les autres lignes de 'post' dans la classe addimg, vous pouvez parcourir la fonction et voir où l'instruction n'est pas accessible. Vous pouvez aussi programmer avec 'try:' ... 'finalement:' –

Répondre

0

je suis passé le addimg à un poste sous le UploadPage, et cela a fonctionné, ne sais pas pourquoi cela n'a pas fonctionné en venant frmo une classe si