Max*_*cia 3 django python-import swagger django-rest-framework
从我的urls.py:
urlpatterns = [
...,
url(r'^docs/', include('rest_framework_swagger.urls')),
]
Run Code Online (Sandbox Code Playgroud)
我最近安装了django_rest_swagger,它包含在 中的 INSTALLED_APPS 中settings.py。但是,当我尝试运行服务器时,我得到一个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
Run Code Online (Sandbox Code Playgroud)
我正在使用自定义用户身份验证模型和令牌身份验证,这可能会也可能不会影响这一点(我也无法使用可浏览的 API)。
class UserProfile(AbstractUser):
gender = models.CharField(max_length=1,default='')
description = models.TextField(blank=True,default='')
Run Code Online (Sandbox Code Playgroud)
此外,当我尝试实现架构视图时,我收到了这个单独的错误:
视图.py:
@api_view()
@renderer_classes([SwaggerUIRenderer, OpenAPIRenderer])
def schema_view(request):
generator = schemas.SchemaGenerator(title='Test API')
return Response(generator.get_schema(request=request))
Run Code Online (Sandbox Code Playgroud)
网址.py:
urlpatterns= [ ..., url(r'schema-view/',schema_view), ..., ]
AttributeError at /schema-view/
'ObtainAuthToken' object has no attribute 'get_serializer_class'
Run Code Online (Sandbox Code Playgroud)
这段代码是我从教程中复制/粘贴的,但它为什么不起作用没有意义,但它似乎与以下事实有关:get_serializer_class()未为仅继承自 的视图类显式定义APIView,情况就是这样班上ObtainAuthToken。不过,由于其余框架中内置的元类使用,我在跟踪类方法方面遇到了很大困难,所以我不能确定。
我的最终目标是获取我正在编程的 API 的文档,但每次尝试似乎都会向我抛出不同的问题。我在这里做错了什么吗?
对于 Django > 1.10 项目 urls.py
from rest_framework_swagger.views import get_swagger_view
schema_view = get_swagger_view(title='API name')
from django.urls import path
urlpatterns = [
path('', schema_view)
]
urlpatterns += [
# your patterns here
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6191 次 |
| 最近记录: |