如何将django-rest-swagger 2.0与现有的DRF应用程序集成(初学者)

时间:2017-04-18 09:50:45

标签: python django rest django-rest-framework swagger

我正在尝试将swagger 2.0与现有的DRF应用程序集成,但在运行python manage.py runserver后它在浏览器中出现以下错误:

  

在/ swagger rest_framework_swagger / index.html上的TemplateDoesNotExist   请求方法:GET请求URL:http://127.0.0.1:8000/swagger   Django版本:1.10异常类型:TemplateDoesNotExist异常   值:rest_framework_swagger / index.html异常   位置:C:\ Users \ MHAZIQ~1 \ Desktop \ Tkxel \ mmg-git \ venv \ lib \ site-packages \ django \ template \ loader.py   在get_template中,第25行

我添加了以下几行 views.py:

from rest_framework_swagger.views import get_swagger_view

schema_view = get_swagger_view(title='Pastebin API')

我添加了以下几行 urls.py:

url(r'^swagger', views.schema_view),

我尝试过应用以下解决方案: TemplateDoesNotExist at /docs/ rest_framework_swagger/index.html

但它没有解决我的问题,有谁可以在这方面帮助我?

2 个答案:

答案 0 :(得分:1)

在Django设置中将“ rest_framework_swagger”添加到INSTALLED_APPS。

settings.py

  INSTALLED_APPS = [
    ...
        'rest_framework_swagger',
    ]

https://django-rest-swagger.readthedocs.io/en/latest/

答案 1 :(得分:0)

经过几个小时的研究后,我发现我的代码存在问题,因为我在现有项目中添加了swagger,它在settings.py中没有以下参数:

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},]

现在招摇非常好!