好的,首先我要聲明這是通過Python的Google App Engine。個人資料照片消失。 Mystery here - GAE(Python)
任誰,
這是我的處理程序/路由問題出在哪裏正在發生。請閱讀以下的背景和細節:
class GetImage(MainHandler):
def get(self):
img = db.get(self.request.get("entity_id"))
self.response.out.write(img.image)
class Profile(MainHandler):
def get(self, profile_name):
current_user = str(self.user.name)
profile_name = current_user
if self.user:
key='ag5kZXZ-c3VpdGVnYW1lcnINCxIHSW1hZ2VkYhgxDA'
imgs = db.GqlQuery("select * from Imagedb WHERE name =:1", current_user)
for img in imgs:
key = img.key() # this is the key
self.render('profile.html', profile_name = self.user.name, current_user = self.user.name, profile_image = key ,username = self.user.name, email = self.user.email, first_name = self.user.first_name, last_name = self.user.last_name, country = self.user.country, prov_state = self.user.prov_state, city_town = self.user.city_town)
else:
self.redirect('/register')
class Change_Profile_Image(MainHandler):
def get(self):
if self.user:
self.render('change_profile_image.html', username = self.user.name, firstname=self.user.first_name, current_user = self.user.name)
else:
self.render('change_profile_image.html')
def post(self):
imagedb = Imagedb(name = self.user.name)
imageupl = images.resize(self.request.get("img"), 200, 200)
imagedb.image = db.Blob(imageupl)
imagedb.put()
self.redirect('/profile/'+self.user.name)
app = webapp2.WSGIApplication([('/', MainPage),
('/register', Register),
('/article', ArticlePage),
('/profile/([^/]+)', Profile),
('/login', Login),
('/logout', Logout),
('/welcome', Unit3Welcome),
('/games', Games),
('/forum', Forum),
('/media', Media),
('/rank', Rank),
('/review', Reviews),
('/events', Events),
('/alreadyloggedin', AlreadyLoggedIn),
('/change_profile_image', Change_Profile_Image),
('/img', GetImage)],
debug=True)
好吧,所以這裏是東西得到loopy。如果我更改Profile類以獲取(自我)並從配置文件類的路由中刪除我的reg表達式,則我的圖像完美地工作。只要路由到唯一的配置文件,即將profile_name傳入配置文件處理程序並將URL映射到該配置文件,我就失去了我的GetImage處理程序的所有功能。當我看到源代碼時,沒有任何改變。按照慣例,圖像仍然被傳遞到模板中。
有沒有人對這裏發生了什麼有什麼想法?我真的很感激。非常感謝你提前。希望我的知識能趕上你們,我很快就會回答問題:p。
」好吧,首先我要聲明這是通過Python的Google App Engine。「 - 只要你正確地標記你的問題(你有!),就不需要這樣的序言。 – 2012-07-23 04:48:32