Thanks again. Changed that line and now this appears in the logs: INFO 2011-08-19 04:02:28,358 index.py:33] Got answer, value is: None So it is putting something in and it is None. I am not sure why. I must not be using .put() correctly to store the random number? answer = Answer(ans = (random.randint(1, 100))).put()
I have tried variations of the put() such as not assigning a random number inside this statement then referring to it, but it always comes up as None. On Aug 18, 9:29 pm, Robert Kluin <robert.kl...@gmail.com> wrote: > That is an excellent clue. Try changing > logging.info('Got answer, value is: %d', number.ans) > to: > logging.info('Got answer, value is: %s', str(number.ans)) > > Also, just noticed one other thing. Instead of 'if number is not > None', in Python you can do 'if number' -- much nicer. > > > > > > > > On Thu, Aug 18, 2011 at 16:16, Matt <mpiechow...@gmail.com> wrote: > > It doesn't look like it. This is the log > > > INFO 2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is > > agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA > > Traceback (most recent call last): > > File "C:\Python25\lib\logging\__init__.py", line 744, in emit > > msg = self.format(record) > > File "C:\Python25\lib\logging\__init__.py", line 630, in format > > return fmt.format(record) > > File "C:\Python25\lib\logging\__init__.py", line 418, in format > > record.message = record.getMessage() > > File "C:\Python25\lib\logging\__init__.py", line 288, in getMessage > > msg = msg % self.args > > TypeError: int argument required > > INFO 2011-08-18 20:08:48,299 dev_appserver.py:4247] "POST / HTTP/ > > 1.1" 200 - > > INFO 2011-08-18 20:08:48,456 dev_appserver.py:4247] "GET / > > numguess.css HTTP/1.1" 200 - > > > If that means anything I see a TypeError... maybe that's what is > > stopping the random number entity to be pulled back out? > > > Thanks again for the help. > > > On Aug 18, 11:07 am, Robert Kluin <robert.kl...@gmail.com> wrote: > >> Hey Matt, > >> Yeah there was a typo in my same code, should not have been: > >> logging.info('Wrote answer, key is: %s', str(answer.key())) > >> but rather: > >> logging.info('Wrote answer, key is: %s', str(answer)) > > >> What that is telling you is that an answer entity was successfully > >> written. So, now you know that the entity is getting written, what is > >> the next logging line? Are you getting an entity back from the > >> datastore? > > >> Robert > > >> On Thu, Aug 18, 2011 at 12:33, Matt <mpiechow...@gmail.com> wrote: > >> > Thanks for the heads up on logging. > > >> > I tried the logging but don't know if I did it right. For the first > >> > logging part in the code, I put: > >> > logging.info('Wrote answer, key is: %s', str(answer.key())) > >> > and it gave me this in the browser: > >> > AttributeError: 'Key' object has no attribute 'key' > > >> > I tried replacing key with ans but that gave the same error type. > >> > When I just put: > >> > logging.info('Wrote answer, key is: %s', str(answer)) > >> > the log file comes with this: > >> > Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA > > >> > Am I doing something wrong or does this info mean anything? I honestly > >> > don't know what to make of it or what to change to get the random > >> > number in/out.. I feel like I am following what the docs say though. > > >> > On Aug 17, 10:19 pm, Robert Kluin <robert.kl...@gmail.com> wrote: > >> >> Hi, > >> >> You should check out the Python logging package, it is super handy. > >> >> Add some logging calls to your code so you can see what is happening. > >> >> For example: > > >> >> import logging > > >> >> def post(self): > >> >> stguess = self.request.get('guess') > >> >> if stguess == 'new': > >> >> answer = Answer(ans = (random.randint(1, 100))).put() > >> >> logging.info('Wrote answer, key is: %s', str(answer.key())) > >> >> number = Answer.all().get() > >> >> if number is not None: > >> >> logging.info('Got answer, value is: %d', number.ans) > >> >> answer = number.ans > >> >> else: > >> >> logging.info('Oh No! Got no answer!') > >> >> answer = None > >> >> else: > >> >> logging.info('Doing nothing.') > > >> >> Robert > > >> >> On Wed, Aug 17, 2011 at 17:33, Matt <mpiechow...@gmail.com> wrote: > >> >> > I am trying to pull an integer from the datastore but I keep getting > >> >> > None back. I store the integers here- > > >> >> > class Answer(db.Model): > >> >> > ans = db.IntegerProperty() > > >> >> > As a test I did this - > > >> >> > def post(self): > > >> >> > stguess = self.request.get('guess') > >> >> > if stguess == 'new': > >> >> > answer = Answer(ans = (random.randint(1, 100))).put() > >> >> > number = Answer.all().get() > >> >> > if number is not None: > >> >> > answer = number.ans > >> >> > else: > >> >> > answer = None > >> >> > msg = str(answer) > > >> >> > So what that does is take user input from the user and if they entered > >> >> > 'new' follow the if path. ans equals a random integer between 1 and > >> >> > 100. Put it in Answer. Then immediately after, pull the first integer > >> >> > from Answer. If it is not None assign the variable answer to the > >> >> > result, else assign it to None. msg is displayed on screen. Instead of > >> >> > a random number which I am expecting to be displayed, None is > >> >> > displayed instead. > > >> >> > I also tried using count to see how many items were actually in the > >> >> > database and the count was more than 0. > > >> >> > Is there anything wrong with how I am putting or retrieving from the > >> >> > datastore? How can I change this so I get the random number into the > >> >> > answer variable, not None? > > >> >> > Thanks for any help > > >> >> > -- > >> >> > You received this message because you are subscribed to the Google > >> >> > Groups "Google App Engine" group. > >> >> > To post to this group, send email to > >> >> > google-appengine@googlegroups.com. > >> >> > To unsubscribe from this group, send email to > >> >> > google-appengine+unsubscr...@googlegroups.com. > >> >> > For more options, visit this group > >> >> > athttp://groups.google.com/group/google-appengine?hl=en. > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups "Google App Engine" group. > >> > To post to this group, send email to google-appengine@googlegroups.com. > >> > To unsubscribe from this group, send email to > >> > google-appengine+unsubscr...@googlegroups.com. > >> > For more options, visit this group > >> > athttp://groups.google.com/group/google-appengine?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google App Engine" group. > > To post to this group, send email to google-appengine@googlegroups.com. > > To unsubscribe from this group, send email to > > google-appengine+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.