django 生成接口文档时,静态文件访问不到显示404(直接静态地址,url访问也是not found)

  1. 安装coreapi(pip install coreapi)
  2. 在urls添加(分发接口)
from rest_framework.documentation import include_docs_urls

urlpatterns = [
    ...
    url('docs/', include_docs_urls(title='接口文档'))
]

  1. 在settings.py添加一下内容(获取app为rest_framework的数据和DEFAULT_SCHEMA_CLASS将用于 schema 生成的视图检查类。)
    ···
    INSTALLED_APPS = [
    .....
    'rest_framework',
    ]
    .....
    REST_FRAMEWORK = {
    'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema',
    }
    ···
  2. 另外还需要配置setting.py 配置
STATIC_URL = '/static/'
STATIC_ROOT = 'static'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

这三个参数作用:
STATIC_URL:django利用STATIC_URL来让浏览器可以直接访问静态文件;
STATIC_ROOT :运行python manage.py collectstatic ,django默认会去查看定义在STATICFILES_DIRS里的目录, 以及在INSTALLED_APPS里定义了的app的static目录;
STATICFILES_DIRS:告诉django,首先到STATICFILES_DIRS里面寻找静态文件,其次再到各个app的static文件夹里面找;

所以建议都配置static

  1. 需要现在项目里创建文件夹叫staic

  2. 运行python manage.py collectstatic


    image.png
  3. 直接访问url:端口/static/rest_framework/css/bootstrap-theme.min.css


    image.png
  4. urls继续添加

from django.conf.urls import url
from django.views import static
from django.conf import settings

url(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}, name='static') 

  1. 再次访问url:端口/static/rest_framework/css/bootstrap-theme.min.css 就可以了


    image.png

    10.访问接口文档url


    image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容