web-dev-qa-db-ja.com

django_rest_swagger-'staticfiles'は登録済みのタグライブラリではありません。次のいずれかである必要があります。

Django RESTフレームワークのDjango 2.2.4のAPIドキュメントを自動生成しようとしているときにこのエラーが発生しました。ログに表示されている内容から、 {%load staticfiles%}の非推奨化を行う

templateSyntaxError at /
'staticfiles' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_urls
cache
countries
i18n
l10n
log
phone
rest_framework
static
tz
Request Method: GET
Request URL:    http://localhost:8000/
Django Version: 3.0
Exception Type: TemplateSyntaxError
Exception Value:    
'staticfiles' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_urls
cache
countries
i18n
l10n
log
phone
rest_framework
static
tz

{% load i18n %}
2   {% load staticfiles %}
3   <!DOCTYPE html>
4   <html lang="en">
5   <head>
6     <meta charset="UTF-8">
7     <title>Swagger UI</title>
8     <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
9     <link href="{% static 'rest_framework_swagger/bundles/vendors.bundle.css' %}" rel="stylesheet" type="text/css">
10    <link href="{% static 'rest_framework_swagger/bundles/app.bundle.css' %}" rel="stylesheet" type="text/css">
11    {% block extra_styles %}
12    {# -- Add any additional CSS scripts here -- #}

私のurlsファイルは、Django_rest_swaggerのドキュメントと同じ形式です。

from Django.contrib import admin
from Django.urls import path, include
from rest_framework_swagger.views import get_swagger_view


    schema_view = get_swagger_view(title='My API')

        urlpatterns = [
            path('admin/', admin.site.urls),
            path('api/user/', include('user.urls'),
            path('', schema_view)]
2
Lucas

StaticfilesテンプレートはDjango 2.2で廃止され、Django 3.で削除されました。

rest_framework_swagger/index.htmlをオーバーライドする必要があります。

site-packages/rest_framework_swagger/templates/rest_framework_swaggerに移動

Rest_framework_swaggerフォルダをコピーして、独自のテンプレートフォルダに貼り付けます

次に、index.htmlの行2を{% load static %}に置き換えます

うまくいきますように!!

0
Muthu Kumar