2012-08-20 1 views
0
name 'entry_resource' is not defined 

Это мой models.pyИспользование tastypie для написания APIS. Есть ошибка в urls.py

from tastypie.utils.timezone import now 
from django.contrib.auth.models import User 
from django.db import models 
from django.template.defaultfilters import slugify 


class Entry(models.Model): 
    user = models.ForeignKey(User) 
    pub_date = models.DateTimeField(default=now) 
    title = models.CharField(max_length=200) 
    slug = models.SlugField() 
    body = models.TextField() 

    def __unicode__(self): 
     return self.title 

    def save(self, *args, **kwargs): 
     # For automatic slug generation. 
     if not self.slug: 
      self.slug = slugify(self.title)[:50] 

     return super(Entry, self).save(*args, **kwargs) 

Это мой api.py:

from tastypie.resources import ModelResource 
from links.models import Entry 


class EntryResource(ModelResource): 
    class Meta: 
     queryset = Entry.objects.all() 
     resource_name = 'entry' 

Это мой urls.py

from django.conf.urls import patterns, include, url 
from links.api import EntryResource 
# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    # Examples: 

    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    # url(r'^admin/', include(admin.site.urls)), 
    (r'^api/', include(entry_resource.urls)), 
) 

Я совершенно уверен, что делаю что-то довольно глупое. Просто не удалось найти что.

ответ

4

С официальной tastypie документации (https://github.com/toastdriven/django-tastypie#whats-it-look-like):

# urls.py 
# ======= 
from django.conf.urls.defaults import * 
from tastypie.api import Api 
from myapp.api import EntryResource 

v1_api = Api(api_name='v1') 
v1_api.register(EntryResource()) 

urlpatterns = patterns('', 
    # The normal jazz here then... 
    (r'^api/', include(v1_api.urls)), 
)