わかりました。最初に、これが Python 経由の Google App Engine であることを述べたいと思います。
誰でも、
これらは、問題が発生している私のハンドラー/ルーティングです。コンテキストと詳細については、以下をお読みください。
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)
さて、ここで物事が狂ってしまいます。Profile クラスを get(self) に変更し、プロファイル クラスのルーティングから正規表現を削除すると、イメージは完全に機能します。固有のプロファイルにルーティングする、つまり profile_name を Profile ハンドラーに渡し、URL をそのプロファイルにマップするとすぐに、GetImage ハンドラーのすべての機能が失われます。ソースコードを見ると、何も変わっていません。画像は通常どおりテンプレートに渡されます。
ここで何が起こっているのか誰にもわかりませんか?とても感謝しております。事前にどうもありがとうございました。うまくいけば、私の知識が皆さんに追いつき、すぐに質問に答えることができます:p.