Ok, here we go. I'm using the previous form to display lists of categories of checkboxes *breath*.
Here it is: http://www.hftvnetwork.com/ProIn/ I'm having problems getting it to only show the amount of blanks it needs, it looks like it closes the last column div and then outputs even more blanks. Here's the view: http://dpaste.com/hold/65175/ It's a little crazy, but when looking at the page, you understand why. Any ideas on why it can't seem to divide by four correctly? Joshua Jonah wrote: > You're the man, and about the float() thing, i couldn't get it to work > before and that fixed it believe it or not. > > I'm still having trouble with this but in another area, I'll dpaste a > bunch and post it. > > Marty Alchin wrote: >> On Tue, Jul 15, 2008 at 2:19 PM, joshuajonah <[EMAIL PROTECTED]> wrote: >> >>> White forever, never loads in the browser. I have changed it today, >>> but i cannot figure out what i screwed up. >>> >>> http://dpaste.com/hold/65163/ >>> >>> It makes a ton of checkboxes in four columns, it then adds blank >>> fields for new options until it is divisible by 4 so that it fits the >>> 4 column layout right. >>> >> >> >From what I can tell, your "divisiblebyfour" function is your problem. >> Namely, you're usign "is" in a way it's not supposed to be used. >> >> "is" is Python's way of determining if two references point to the >> same object, not whether two objects are equivalent. This is typically >> used with complex objects that define a method to deal with it, but >> it's a little tricky for things like numbers. Consider the following >> interactive interpreter session: >> >> >>>>> 0 is 0 >>>>> >> True >> >>>>> 0.0 is 0.0 >>>>> >> True >> >>>>> 0.0 is 0 >>>>> >> False >> >>>>> test = 0 >>>>> test is 0 >>>>> >> True >> >>>>> test = 0.0 >>>>> test is 0.0 >>>>> >> False >> >> And, to be clear about your specific case: >> >> >>>>> float(8) % float(4) >>>>> >> 0.0 >> >>>>> float(8) % float(4) is 0.0 >>>>> >> False >> >>>>> float(8) % float(4) is 0 >>>>> >> False >> >> Because you're using "is not" in your function, that expression will >> *always* be True, and your function will *always* return False, >> regardless of what input you give it. Since you looping over it "while >> not divisiblebyfour(...)", that test will *always* succeed and your >> loop will *never* end. However, look what happens when we use the >> appropriate operator, "==". >> >> >>>>> 0.0 == 0.0 >>>>> >> True >> >>>>> 0 == 0 >>>>> >> True >> >>>>> 0.0 == 0 >>>>> >> True >> >>>>> float(8) % float(4) == 0.0 >>>>> >> True >> >>>>> float(8) % float(4) == 0 >>>>> >> True >> >>>>> 8 % 4 == 0 >>>>> >> True >> >>>>> 7.5 % 2.5 == 0 >>>>> >> True >> >>>>> 10 % 2.5 == 0 >>>>> >> True >> >> Note those last ones, too. You don't need to cast to floats for the >> modulo to work properly, so it's a bit unnecessary. Also, any number >> other than zero evaluates to True on its own anyway, so you don't even >> need that if block in the function. Better yet, with those things >> taken out, that function gets so small that you can just get rid of it >> if you want: >> >> while not (len(templist) + amountofblanks) % 4: >> amountofblanks += 1 >> >> That'll work quite well for what you're doing, without dealing with an >> extra function and all the hassle. Hope this helps. >> >> -Gul >> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---