【发布时间】:2016-12-12 10:08:34
【问题描述】:
来自我的 urls.py:
urlpatterns = [
...,
url(r'^docs/', include('rest_framework_swagger.urls')),
]
我最近安装了django_rest_swagger,它包含在settings.py 的INSTALLED_APPS 中。但是,当我尝试运行服务器时,我得到一个ImportError:
File "/home/myname/myapp/api/urls.py", line 11, in <module>
url(r'^docs/', include('rest_framework_swagger.urls')),
File "/usr/local/lib/python2.7/dist-packages/django/conf/urls/__init__.py", line 52, \
in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named urls
我正在使用自定义用户身份验证模型和令牌身份验证,这可能会或可能不会影响这一点(我也无法使用可浏览的 API)。
class UserProfile(AbstractUser):
gender = models.CharField(max_length=1,default='')
description = models.TextField(blank=True,default='')
此外,当我尝试实现架构视图时,我得到了这个单独的错误:
views.py:
@api_view()
@renderer_classes([SwaggerUIRenderer, OpenAPIRenderer])
def schema_view(request):
generator = schemas.SchemaGenerator(title='Test API')
return Response(generator.get_schema(request=request))
urls.py:
urlpatterns= [ ..., url(r'schema-view/',schema_view), ..., ]
AttributeError at /schema-view/
'ObtainAuthToken' object has no attribute 'get_serializer_class'
我从教程中复制/粘贴了这段代码,但它为什么不起作用没有意义,但这似乎与get_serializer_class() 没有为仅继承自的视图类显式定义这一事实有关APIView,这是 ObtainAuthToken 类的情况。不过,由于 REST 框架中内置了元类的使用,我在跟踪类方法时遇到了很多困难,所以我不能确定。
我的最终目标是获取我正在编程的 API 的文档,但每次尝试似乎都会给我带来不同的问题。这里有什么我做错了吗?
【问题讨论】:
标签: django django-rest-framework swagger python-import