It looks like you are using different styles of importing your models in 
different places:

    views.py:   from weblog.models import Category, Entry
    blog_extras.py: from lukenslanguages.weblog.models import Entry

I can't quite see how that leads to your "cannot import name Category" 
error, but I'd try making those imports the same.  Your imports may be 
getting tangled up in relative imports meaning different things from 
different places.  I'm guessing the directory above lukenslanguages is 
on your PYTHONPATH, so make them all start from lukenslanguages like the 
blog_extras.py imports do.

--Ned.

[EMAIL PROTECTED] wrote:
> 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
>>     
> >
>
>   

-- 
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