Ivá*_*ova 6 django django-rest-framework
我正在为我的api设置文档,当我要求时(http:// localhost:8000/api/v0/docs /)该应用程序显示此错误:
NoReverseMatch at /api/v0/docs/
'api-docs' is not a registered namespace
Run Code Online (Sandbox Code Playgroud)
当试图这样做
<script src="{% url **'api-docs:schema-js'** %}"></script>
Run Code Online (Sandbox Code Playgroud)
这是我的urls.py文件:
from django.contrib import admin
from django.conf.urls import url, include
from django.contrib.auth.models import User
from . import views
from rest_framework import routers, serializers, viewsets
from rest_framework.documentation import include_docs_urls
# Routers provide an easy way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register(r'goals', views.GoalViewSet)
urlpatterns = [
url(r'^goals/$', include(router.urls)),
url(r'^docs/', include_docs_urls(title='My API title')),
]
Run Code Online (Sandbox Code Playgroud)
我将命名空间添加到include_docs_urls但它不起作用.(我已经安装了coreapi,pygments和markdown).
事先感谢帮助我.
您应该将docs网址格式移动到主 urls.py文件中。这在DRF中仍然是一个问题,在GitHub的官方来源上也存在一个问题:https : //github.com/encode/django-rest-framework/issues/4984
Django REST框架的官方开发人员Tom Christie说:
非常重要的是,我希望看到它具有高度优先级,但是此刻还有很多其他事情在进行。即使在发布3.6.3之后,仍将朝着3.7.0的实时集成进行所有工作。
因此您的docs模式不应包含任何前缀(如api/v0/)。
最后,更改您的main urls.py:
url(r'^docs/', include_docs_urls(title='API Title'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |