0

我只是复制粘贴tastepie 示例代码以了解它是如何工作的。代码如下。我也做了模型类条目。当我在 url 上运行http://localhost:8000/api/v1/时会抛出错误

# myapp/api/resources.py
from django.contrib.auth.models import User
from tastypie.authorization import Authorization
from tastypie import fields
from tastypie.resources import ModelResource, ALL, ALL_WITH_RELATIONS
from myapp.models import Entry


class UserResource(ModelResource):
    class Meta:
        queryset = User.objects.all()
        resource_name = 'user'
        excludes = ['email', 'password', 'is_active', 'is_staff', 'is_superuser']
        filtering = {
        'username': ALL,
    }


class EntryResource(ModelResource):
    user = fields.ForeignKey(UserResource, 'user')

class Meta:
    queryset = Entry.objects.all()
    resource_name = 'entry'
    authorization = Authorization()
    filtering = {
        'user': ALL_WITH_RELATIONS,
        'pub_date': ['exact', 'lt', 'lte', 'gte', 'gt'],
    }

网址.py

from django.conf.urls.defaults import *
from tastypie.api import Api
from myapp.api.resources import EntryResource, UserResource

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

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

它正在抛出消息 "No module named urls" 。有任何想法吗?

4

3 回答 3

0

出现此错误是因为 myapp 包中没有名为 urls.py 的模块。在 myapp 包中创建一个模块 urls.py

于 2013-06-29T06:32:26.320 回答
0

代替

from django.conf.urls.defaults import *

您可以尝试像这样导入

from django.conf.urls import *
于 2014-11-17T09:51:07.123 回答
0

你应该试试:

(r'^api/', include('v1_api.urls')),
于 2013-03-28T02:00:53.157 回答