首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django文件-浏览器可以上传文件,但无法打开文件,出现404错误

Django文件-浏览器可以上传文件,但无法打开文件,出现404错误
EN

Stack Overflow用户
提问于 2020-05-26 23:35:39
回答 1查看 395关注 0票数 0

你能帮我解决这个问题吗?我可以上传文件并保存在文件夹中。但当打开它时出现404错误。以下是设置和错误消息。

日志:

代码语言:javascript
复制
[26/May/2020 15:21:39] "GET /static/filebrowser/img/completed.png    HTTP/1.1" 200 1122`enter code here` [26/May/2020 15:21:40] "POST    /admin/filebrowser/upload_file/?csrf_token=0uwjLJMd48BUTimLGxLTPu0sbYRntIeNMVqDKoA89eaUB7FlXQjzPeMNF6flnUwS&csrf_name=csrfmiddlewaretoken&csrf_xname=X-CSRFToken&folder=    HTTP/1.1" 200 92 [26/May/2020 15:21:44] "GET    /admin/filebrowser/browse/? HTTP/1.1" 200 19619 Not Found:    /admin/filebrowser/browse/_versions/007g2ufvgy1gbzeb3ggu3g304g05nx6q_admin_thumbnail.gif    [26/May/2020 15:21:44] "GET    /admin/filebrowser/browse/_versions/007g2ufvgy1gbzeb3ggu3g304g05nx6q_admin_thumbnail.gif    HTTP/1.1" 404 5607 Not Found:    /admin/filebrowser/browse/007g2ufvgy1gbzeb3ggu3g304g05nx6q.gif    [26/May/2020 15:21:46] "GET    /admin/filebrowser/browse/007g2ufvgy1gbzeb3ggu3g304g05nx6q.gif    HTTP/1.1" 404 5529 [26/May/2020 15:31:56] "GET    /admin/filebrowser/browse/? HTTP/1.1" 200 20780

settings.py:

代码语言:javascript
复制
INSTALLED_APPS = [
    'grappelli',
    'filebrowser',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
FILEBROWSER_DIRECTORY = ''
DIRECTORY = ''  

urls.py:

代码语言:javascript
复制
from django.contrib import admin
from django.urls import path,include
from filebrowser.sites import site

urlpatterns = [
    path('admin/filebrowser/', site.urls),
    path('grappelli/', include('grappelli.urls')),
    path('admin/', admin.site.urls),
]

上传成功:

错误消息:

EN

回答 1

Stack Overflow用户

发布于 2020-06-10 22:32:47

您需要以下设置:

代码语言:javascript
复制
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media/")
#FILEBROWSER_DIRECTORY = ''
#DIRECTORY = ''

并且此urls会更新:

代码语言:javascript
复制
urlpatterns = [
    path('admin/filebrowser/', site.urls),
    path('grappelli/', include('grappelli.urls')),
    path('admin/', admin.site.urls),
]
# only for development server. File serving will be automatically disabled when DEBUG=False
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
~                                                                           

确保创建media/upload/目录。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62025873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档