0

我正在使用 Django 和 React。我想提供来自 Django 的反应公共文件。

但是 django 静态文件带有前缀 url,就像这样

/static/favicon.ico
/static/manifest.json

但我想提供这样的文件,没有任何前缀。

/favicon.ico
/manifest.json
/serviceworker.js

那么我该怎么做呢?请帮忙

4

2 回答 2

0

参考静态文件

STATIC_URL从 '/static/' 更改为 '/' 应该可以工作。

于 2021-02-09T09:08:40.553 回答
0

我对此进行了很多搜索,最终发现这是最好和最有效的方法

应用程序/urls.py

from django.urls import path
from app import views

urlpatterns = [
    path("<str:public_url>", views.public, name="public"),
]

警告:将 URL 模式放在末尾

应用程序/views.py

import os
from django.conf import settings
from django.views.static import serve

def public(request, public_url):
    public_folder = os.path.join(str(settings.BASE_DIR), 'folder_path')
    return serve(request, public_url, document_root=public_folder)
于 2021-07-09T16:57:16.497 回答