【发布时间】:2017-12-22 08:10:24
【问题描述】:
我尝试创建 Django 内置 API 文档,但是我无法将对象添加到左侧的列表中。当我打开localhost:8000/docs/ 时,我看不到the official Django REST documentation 顶部的对象列表(在本例中为sn-ps 和用户)。目前我正在尝试这种方式:
urls.py:
from rest_framework.documentation import include_docs_urls
API_TITLE = 'API title'
API_DESCRIPTION = '..df.'
urlpatterns = [
url(r'^docs/', include_docs_urls(title=API_TITLE, description=API_DESCRIPTION)),
]
models.py:
class Object1(models.Model):
user = models.ForeignKey(User)
value = models.FloatField()
admin.py 基于developer.mozilla.org:
from django.contrib import admin
from .models import Object1
# Register your models here.
admin.site.register(Object1)
我也基于https://docs.djangoproject.com,并尝试使用这个 admin.py 版本:
class Object1Admin(admin.ModelAdmin):
pass
admin.site.register(Object1, Object1Admin)
我也在使用其他版本,但我也没有得到积极的结果。有什么建议吗?
更新 我试图在我的视图文件中创建 ViewSet 并将其导入 url 以按照 Raja Simon 的建议定义路由器:
views.py:
from rest_framework import viewset
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
urls.py:
from rest_framework.routers import DefaultRouter
# Create a router and register our viewsets with it.
router = DefaultRouter()
router.register(r'users', views.UserViewSet)
urlpatterns = [
url(r'^', include(router.urls))
]
【问题讨论】:
-
请创建视图集并将它们添加到您的路由器。然后你应该在文档中看到...
-
我在我的项目中只使用视图。是否可以使用它们代替视图集?
-
我不这么认为。看到这个 coreapi 与 Django RestFramework 紧密耦合而不是 Django...
-
所以我必须将整个源代码从
views.py更改为视图集? -
我认为这是github.com/encode/django-rest-framework/issues/5003 的问题。我也有类似的问题。
标签: python django python-3.x django-models django-rest-framework