Hi Ned,

I figured as much, but since without the 'try' made no difference, I
thought I'd give it a whirl....  here is the source.
'lukenslanguages' is the project directory.
#lukenslanguages/weblog/models.py

from django.db import models

class Category(models.Model):
    name = models.CharField(maxlength=20)
    url = models.SlugField(prepopulate_from=("name",))

    def __str__(self):
        return self.name

    class Admin:
        pass

class Entry(models.Model):
    title = models.CharField(maxlength=100)
    url = models.SlugField(prepopulate_from=("title",))
    category = models.ForeignKey(Category)
    body = models.TextField()
    date = models.DateField()

    def __str__(self):
        return self.title

    class Admin:
        pass

#lukenslanguages/urls.py

from django.conf.urls.defaults import *
from lukenslanguages import views

urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls')),
    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': 'C:/django-0.96.1/lukenslanguages/templates/'}),
    (r'(^[a-z-]+)/$', views.entry_list),
)

#lukenslanguages/views.py

from django.shortcuts import render_to_response
from weblog.models import Category, Entry
from django.template import loader, RequestContext
from context_processors import menu_list

def entry_list(request, category):
        c = Category.objects.get(url=category)
        entries = c.entry_set.all()
        return render_to_response('weblog/blogentry_list.html',
                                  {'entries': entries, 'category':
c.name, 'title': c.name},
 
context_instance=RequestContext(request, processors=[menu_list]))

#lukenslanguages/context_processors.py

from weblog.models import Category

def menu_list(request):
    "A context processor that serves the categories for use as menu
items"
    return {
        'categories': Category.objects.all()
    }

#lukenslanguages/weblog/templatetags/blog_extras.py

from django.template import Library
from lukenslanguages.weblog.models import Entry

register = Library()

@register.filter
def category_url(entry_id):
    e = Entry.objects.get(id=entry_id)
    return e.category.url

I think that this is all of the pertinent code.  If you would like to
see anything else, please let me know.

Thank you,
Jonathan
On Feb 3, 7:43 am, Ned Batchelder <[EMAIL PROTECTED]> wrote:
> When Kenneth suggested "try: @register.filter", he meant, try:
> "@register.filter", that is, the word "try:" was not meant to go in the
> file.
>
> You may have an import problem in your models file.  Can you post more
> of the source so that we can take a look?
>
> --Ned.http://nedbatchelder.com/blog
>
>
>
> [EMAIL PROTECTED] wrote:
> > Thanks for the input.
>
> >> try: @register.filter  <--- without the '()'
>
> > so long as this is in the file, I get a syntax error if I run the file
> > from the command prompt, with the caret pointing to the '@', with or
> > without the '()'.  I get the same thing if I do this after the
> > function:
>
> > try: register.filter(category_url)
>
> > If there is no 'try' in the module, I can import the the filter
> > function in the python shell and it works correctly.
> > I am not sure what else you might have meant by running from the
> > shell.
> > Thanks for your help.
>
> > Jonathan
>
> >> --
>
> >> regards
> >> kghttp://lawgon.livejournal.comhttp://nrcfosshelpline.in/web/
> >> Foss Conference for the common man:http://registration.fossconf.in/web/
>
> --
> Ned Batchelder,http://nedbatchelder.com
--~--~---------~--~----~------------~-------~--~----~
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