Django Tastype prepend_网址

2024-09-28 23:10:09 发布

您现在位置:Python中文网/ 问答频道 /正文

Django Tastype错误。我正在尝试预先添加\u url以便我可以为用户列出朋友,但我在/api/v1/friends/user/1/global name'url'未定义“时收到一个错误”NameError。 这是朋友资源的代码。在

class FriendsResource(ModelResource):
      from_user=fields.ForeignKey(UserResource,'from_user')
      to_user=fields.ForeignKey(UserResource,'to_user')


      class Meta:
           queryset=Friends.objects.all()
           serializer=Serializer(formats=['json'])
           resource_name='friends'
           filtering={
                       'from_user':ALL_WITH_RELATIONS,
                       'to_user':ALL_WITH_RELATIONS

           }   

下面是prepend_url的代码和放入wrap\u视图的方法。在

^{pr2}$

回溯如下:

  Environment:

Request Method: GET
Request URL: http://localhost:8000/api/v1/friends/user/1/

Django Version: 1.6.2
Python Version: 2.7.3
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'tastypie',
 'userprof',
 'relations',
 'event',
 'liking',
 'feed')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/root/python/django-zack/local/lib/python2.7/site-packages/Django-1.6.2-py2.7.egg/django/core/handlers/base.py" in get_response
  101.                 resolver_match = resolver.resolve(request.path_info)
File "/root/python/django-zack/local/lib/python2.7/site-packages/Django-1.6.2-py2.7.egg/django/core/urlresolvers.py" in resolve
  318.             for pattern in self.url_patterns:
File "/root/python/django-zack/local/lib/python2.7/site-packages/Django-1.6.2-py2.7.egg/django/core/urlresolvers.py" in url_patterns
  346.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/root/python/django-zack/local/lib/python2.7/site-packages/Django-1.6.2-py2.7.egg/django/core/urlresolvers.py" in urlconf_module
  341.             self._urlconf_module = import_module(self.urlconf_name)
File "/root/python/django-zack/local/lib/python2.7/site-packages/Django-1.6.2-py2.7.egg/django/utils/importlib.py" in import_module
  40.         __import__(name)
File "/root/python/django-zack/wyat/wyat/urls.py" in <module>
  25.      url(r'^api/',include(v1_api.urls)),
File "/root/python/django-zack/local/lib/python2.7/site-packages/tastypie/api.py" in urls
  107.             pattern_list.append((r"^(?P<api_name>%s)/" % self.api_name, include(self._registry[name].urls)))
File "/root/python/django-zack/local/lib/python2.7/site-packages/tastypie/resources.py" in urls
  324.         urls = self.prepend_urls()
File "/root/python/django-zack/wyat/event/api.py" in prepend_urls
  68.                  url(r"^(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/user%s$" %(self._meta.resource_name,trailing_slash()),

Exception Type: NameError at /api/v1/friends/user/1/
Exception Value: global name 'url' is not defined

请告诉我哪里错了,因为我使用了嵌套资源烹饪书中的示例,我看不出哪里错了。在


Tags: djangonameinpyselfapiurllocal
1条回答
网友
1楼 · 发布于 2024-09-28 23:10:09

@扎克姆瓦

我有一个可以使用的预设网址。。你可以看看下面的例子。在


def prepend_urls(self):
        return [
            url(r"^(?P%s)/generate%s$" %
                (self._meta.resource_name, trailing_slash()),
                self.wrap_view('genusr'), name="api_get_genusr"),
        ]

def genusr(self, request, **kwargs):
        data = self.deserialize(request, request.body, format=request.META.get('Content-Type', 'application/json'))
        print(data.get('workflows',None))
        child_resource = UserResource()
        return child_resource.get_list(request)

上面的方法被包装在我的资源模型中。在

错误很可能是由于缺少一些导入而导致的,请尝试导入django.core.urlResolver导入解析,自美味佳肴导入尾随的斜杠,然后重试。告诉我你这样做会发生什么。在

相关问题 更多 >