我正在使用 Django 和 React。我想提供来自 Django 的反应公共文件。
但是 django 静态文件带有前缀 url,就像这样
/static/favicon.ico
/static/manifest.json
但我想提供这样的文件,没有任何前缀。
/favicon.ico
/manifest.json
/serviceworker.js
那么我该怎么做呢?请帮忙
参考静态文件
将STATIC_URL从 '/static/' 更改为 '/' 应该可以工作。
我对此进行了很多搜索,最终发现这是最好和最有效的方法
应用程序/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)