繁体   English   中英

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

[英]How to integrate django-rest-swagger 2.0 with existing DRF application(Beginner)

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

TemplateDoesNotExist at /swagger rest_framework_swagger/index.html 请求方法: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 in get_template, line 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

但它没有解决我的问题,任何人都可以在这方面帮助我吗?

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

设置.py

  INSTALLED_APPS = [
    ...
        'rest_framework_swagger',
    ]

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

经过几个小时的研究,我发现我的代码存在问题,因为我将 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',
        ],
    },
},]

现在 swagger 工作得很好!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM