1
UPDATE :데이터 저장소에 이미지를 쓰는 방법은 무엇입니까?
가 systempuntoout
하여 주석을 참조하십시오. 양식에 제출 버튼이 누락되었습니다. 이제 모든 것이 작동합니다.
데이터 저장소에 이미지를 쓰는 것이 좋습니다. 하지만 happenning 아니에요 :
class AvatarSave(webapp.RequestHandler):
def post(self):
q = User.all()
q.filter("userEmail =", "[email protected]")
qTable = q.fetch(10)
if qTable:
for row in qTable:
avatar = images.resize(self.request.get("img"), 32, 32)
row.avatar = db.Blob(avatar)
db.put(qTable)
else:
self.response.out.write("user not found")
self.redirect('/')
로그는 이미지 키를 보여줍니다
INFO 2010-12-04 13:56:26,601 dev_appserver.py:3317] "GET /img?
img_id=ag1oZWxsby0xLXdvcmxkcgsLEgRVc2VyGIABDA HTTP/1.1" 200 -
을하지만 아무것도 깨진 링크를 제외하고는 표시되지 않습니다. 내가 여기서 무엇을 놓치고 있니? 도와 주셔서 감사합니다. 아래에는 전체 스크립트가 포함되어 있습니다. 감사! 난 당신이 질문에보고하지 않은 User
모델을 추론 코드를 시도했습니다
self.response.out.write("""
<form action="/avatar-save" enctype="multipart/form-data" method="post">
<div><label>Avatar:</label></div>
<div><input type="file" name="img"/></div>
<input type="submit"/>
</form>...
:
class MainPage(webapp.RequestHandler):
def get(self):
siteUser = users.get_current_user()
greeting = None
if siteUser:
greeting = ("Welcome, %s! (<a href=\"%s\">sign out</a>)" %
(siteUser.nickname(), users.create_logout_url("/")))
else:
greeting = ("<a href=\"%s\">Sign in or register</a>" %
users.create_login_url("/"))
self.response.out.write(greeting)
self.response.out.write("""
<form action="/avatar-save" enctype="multipart/form-data" method="post">
<div><label>Avatar:</label></div>
<div><input type="file" name="img"/></div>
</form>
</body>
</html>""")
query = User.all()
query.filter("userEmail =", "[email protected]")
query.order("-userScore")
results = query.fetch(10)
self.response.out.write("""<html><head><style>
body {font-size: small;
font-family: Verdana, Helvetica, sans-serif;
}</style>
</head><body><ol>""")
for result in results:
self.response.out.write("<li>")
self.response.out.write("<b>%s</b> %s " % (result.userName, result.userLatestComment))
self.response.out.write("<div><img src='img?img_id=%s'></img>" % result.key())
self.response.out.write("</li>")
self.response.out.write("</ol></body></html>")
class Image (webapp.RequestHandler):
def get(self):
greeting = db.get(self.request.get("img_id"))
if greeting.avatar:
self.response.headers['Content-Type'] = "image/png"
self.response.out.write(greeting.avatar)
else:
self.response.out.write("No image")
class AvatarSave(webapp.RequestHandler):
def post(self):
q = User.all()
q.filter("userEmail =", "[email protected]")
qTable = q.fetch(10)
if qTable:
for row in qTable:
avatar = images.resize(self.request.get("img"), 32, 32)
row.avatar = db.Blob(avatar)
db.put(qTable)
else:
self.response.out.write("user not found")
self.redirect('/')
application = webapp.WSGIApplication(
[('/', MainPage),
('/img', Image),
('/avatar-save', AvatarSave),
],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
안녕하세요 systempuntoout : 시간을내어 도와 주셔서 감사합니다. 정말 고마워. 이제 내 컴퓨터에서도 작동합니다! – Zeynel
@Zeynel 당신을 환영합니다; MainPage 핸들러도 확인하십시오.