django 網頁訪問static文件夾以外的文件 跳轉地址Not allowed to load local resource的解決辦法
时间: 2023-10-26 21:18:17 浏览: 77
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
5星 · 资源好评率100%
在 Django 中,要访问 static 文件夹以外的文件,可以采用以下方法:
1. 在 settings.py 中添加 STATICFILES_DIRS 配置:
```python
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'media'),
]
```
其中,os.path.join(BASE_DIR, 'media') 表示 media 文件夹是在项目的根目录下。
2. 在视图函数中使用相对路径访问文件:
```python
from django.conf import settings
from django.http import FileResponse
import os
def download_file(request):
file_path = os.path.join(settings.BASE_DIR, 'file.pdf')
if os.path.exists(file_path):
with open(file_path, 'rb') as fh:
response = HttpResponse(fh.read(), content_type="application/pdf")
response['Content-Disposition'] = 'inline; filename=' + os.path.basename(file_path)
return response
raise Http404
```
其中,os.path.join(settings.BASE_DIR, 'file.pdf') 表示项目根目录下的 file.pdf 文件。
然后,在模板中,可以使用以下方式访问:
```html
<a href="{% url 'download_file
阅读全文