أين هو خطأ الكود الخاص بي باستخدام urlfetch على محرك تطبيق Google
-
28-09-2019 - |
سؤال
هذا هو الكود الخاص بي:
class save(BaseRequestHandler):
def get(self):
counter = Counter.get_by_key_name('aa-s')
counter.count += 1
url = "http://www.google.com"
result = urlfetch.fetch(url)
if result.status_code == 200:
counter.ajax = result.content
counter.put()
self.redirect('/')
والخطأ هو:
Traceback (most recent call last):
File "D:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 511, in __call__
handler.get(*groups)
File "F:\ss\Task Queue\main.py", line 48, in get
counter.ajax = result.content
File "D:\Program Files\Google\google_appengine\google\appengine\ext\db\__init__.py", line 542, in __set__
value = self.validate(value)
File "D:\Program Files\Google\google_appengine\google\appengine\ext\db\__init__.py", line 2453, in validate
raise BadValueError('Property %s is not multi-line' % self.name)
BadValueError: Property ajax is not multi-line
INFO 2010-11-04 08:24:29,905 dev_appserver.py:3283] "GET /save HTTP/1.1" 500 -
لذلك لا يمكنني العثور على الخطأ ،
هل فعلت .
شكرًا
المحلول
أنت تحاول تخزين النتيجة في counter.ajax ، وهو عبارة عن سلسلة لا تحتوي على multiline = true. إما تعيين multiline = صحيح في تعريف "ajax" ، أو استبداله بـ textProperty (). من المؤكد أن هذا الأخير هو الإجابة الصحيحة - يمكن أن تكون TextProperties أطول ، ولا يتم فهرستها.
نصائح أخرى
الخطأ في نموذج العداد الخاص بك.
"Ajax" يحتاج إلى أن تكون خاصية سلسلة متعددة. انظر توثيق أنواع فصول الممتلكات.
سترغب في القيام:
ajax = db.StringProperty(multiline=True)
لاحظ أيضًا أنه لا يمكن استخدام db.stringProperty إلا لسلاسل 500 حرف أو أقل.
لا تنتمي إلى StackOverflow