it works.

Thank you so much !


On Nov 19, 6:48 pm, "Alex Koshelev" <[EMAIL PROTECTED]> wrote:
> You have to convert value from string to integer:
>
>  int(arg)
>
> On Wed, Nov 19, 2008 at 13:18, K*K <[EMAIL PROTECTED]> wrote:
>
> > I modified some code so I made mistake again. -_-#
>
> > The right result looks like this:
>
> > $ ./manage.py shell
> > Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26)
> > [GCC 4.0.1 (Apple Inc. build 5465)] on darwin
> > Type "help", "copyright", "credits" or "license" for more information.
> > (InteractiveConsole)
> > >>> from addressbook.core.templatetags.extra_filters import cut_by_string
> > >>> cut_by_string("Hello World", 3)
> > u'...'
> > >>> cut_by_string("Hello World", 5)
> > u'He...'
> > >>> cut_by_string("Hello World", 10)
> > u'Hello W...'
> > >>> cut_by_string("Hello World", 15)
> > u'Hello World'
>
> > On Nov 19, 6:09 pm, Daniel Roseman <[EMAIL PROTECTED]>
> > wrote:
> > > On Nov 19, 9:52 am, "K*K" <[EMAIL PROTECTED]> wrote:
>
> > > > Hi, All.
>
> > > > I create a custom filter for cut too long string for my app.
>
> > > > Like this:
>
> > > > from django import template
> > > > from django.template.defaultfilters import stringfilter
>
> > > > register = template.Library()
>
> > > > @register.filter(name='cut_by_string')
> > > > @stringfilter
> > > > def cut_by_string(value, arg):
> > > >         if len(value) < arg:
> > > >                 return value
> > > >         else:
> > > >                 return value[:arg-3] + "..."
>
> > > > And in the template I load the filter .py normally, and set below
> > > > codes:
>
> > > >         <div><a href="#">{{ testplan.name|cut_by_string:"a"
> > }}</a></div>
>
> > > > But it doesn't work, do I make any mistake in this code ?
>
> > > I'm not quite sure what the filter is supposed to do, but you're
> > > passing a string and then checking if its length is 'less than'
> > > another string. This doesn't make sense. This line would seem to be
> > > the problem:
> > >     if len(value) < arg:
> > > According to the values you've passed, this evaluates to:
> > >     if len('string') < 'a':
> > > which will always be true.
>
> > > I wonder if you meant
> > >    if len(value) < len(arg)
> > > ??
>
> > > --
> > > DR.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to