RE: help with "Key 'timeout' not found in "
ahh, okay. Let's try another approach to see if you can nail down that error. I'm not sure why it's not working.
def reserve(request, park_id):
# Get the User
# This is different than the method you're using
# but I think it may be what you want.
user = self.request.user
# Grab that Notification and Park
# In your method, you were throwing a 404 error. I'm
# not sure if that's what you're actually after (page not found)
# or if you'd rather give a server error because the user attempted
# to use a notification or park that didn't exist.
# Also, I'm a bit confused by the variable names, haha. I'd think the Park
# object would take the park_id and the Notification object would use
# something else.
notification = Notification.objects.get(pk = park_id)
park = Park.objects.get(pk = 1)
# This will check to see if that POST Variable is available.
if 'timeout' is in request.POST:
# Grab the Timeout Variable
timeout = int(request.POST['timeout'])
# Let's build the Reservation object piece by piece to see what the problem is.
reservation = Reservation.objects.create()
reservation.user = user
# ....
reservation.notification = notification
reservation.timeout = timeout
# ...
reservation.save()
return HttpResponse(...)
# This is the error case where the timeout wasn't POST'ed.
else:
raise Exception("The timeout variable wasn't posted.")
This time, you should see exactly where that error is popping up. Also, ModelForm + CreateView would be a great an easy combination for this exact situation.
Good luck!
-Kurtis Mullins
From: psychok7 <nunok7@gmail.com>
Sent: Thursday, May 03, 2012 4:47:56 PM
To: django-users@googlegroups.com
Subject: Re: help with "Key 'timeout' not found in <QueryDict: {}>"
Sent: Thursday, May 03, 2012 4:47:56 PM
To: django-users@googlegroups.com
Subject: Re: help with "Key 'timeout' not found in <QueryDict: {}>"
class Reservation(models.Model): user = models.ForeignKey(User) park = models.ForeignKey(Park) notification = models.ForeignKey(Notification) timeout = models.IntegerField() active = models.BooleanField() parked = models.BooleanField() reservation_date = models.DateTimeField('date reserved')
On Thursday, May 3, 2012 11:58:19 PM UTC+1, Kurtis wrote:
Can we see what your "Reservation" model looks like? Specifically, that 'timeout' field?
hi i have done a succefull query and i converted the results into links so i can make a post by clicking on the links to make a reservation.my problem is, theres a variable timeout that i want to specify manually, but i get a "Key 'timeout' not found in <QueryDict: {}>"
i know i am supposed to pass that variable but i just dont know how.
my code is :
def reserve (request,user_id,park_id):#only works if the user exists in databaseu = get_object_or_404(User, pk=user_id)n = get_object_or_404(Notification, pk=park_id)p = get_object_or_404(Park, pk=1)r = Reservation(user=u ,notification=n, park=p, timeout=int(request.POST['timeout']),active=True,parked=False,reservation_date=datetime.now())r.save()return HttpResponse('Spot reserved')
html:
{% if parks %} <p>You searched for: <strong>{{ query }}</strong></p> <p>Found {{ parks|length }} park{{ parks|pluralize }}.</p> <ul> {% for park in parks %} <input type="text" name="timeout" value="60" id="timeout"> <li><a href="/accounts/{{ user.id }}/reserve/{{ park.id }}">{{ park.park_address }}</a></li> {% endfor %} </ul> {% endif %}
can someone help me?--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/iTBJptqGhyoJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/KGbfHKRKmrYJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home