【问题标题】:How to integrate django-rest-swagger 2.0 with existing DRF application(Beginner)如何将 django-rest-swagger 2.0 与现有的 DRF 应用程序集成(初学者)
【发布时间】:2017-04-18 09:50:45
【问题描述】:

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

TemplateDoesNotExist 在 /swagger rest_framework_swagger/index.html 请求方法:GET 请求地址: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 行

我在 视图.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

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

【问题讨论】:

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


    【解决方案1】:

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

    settings.py

      INSTALLED_APPS = [
        ...
            'rest_framework_swagger',
        ]
    

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

    【讨论】:

      【解决方案2】:

      经过几个小时的研究,我发现我的代码存在问题,因为我将 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 工作得很好!

      【讨论】:

        猜你喜欢
        • 2017-04-29
        • 1970-01-01
        • 1970-01-01
        • 2011-07-07
        • 1970-01-01
        • 1970-01-01
        • 2016-03-18
        • 1970-01-01
        • 2013-02-14
        相关资源
        最近更新 更多