媒体资源——MEDIA
一般情况下,STATIC_URL是设置静态文件的路由地址,如CSS文件,JavaScript文件以及常用的图片等信息。对于一些经常变动的资源,通常将其存放在媒体资源文件夹,如用户头像、歌曲文件等。
媒体资源和静态资源是可以同时存在的,而且两者可以独立运行,互不影响,而媒体资源只有配置属性MEDIA_URL和MEDIA_ROOT,具体配置信息如下:
#设置媒体路由地址信息
MEDIA_URL = '/media/'
#获取media文件夹的完整路径信息
MEDIA_ROOT = BASE_DIR / 'media'
配置完属性设置后,还需要将media文件夹注册到Django里,让Django知道如何找到媒体文件,否则无法在浏览器上访问该文件的文件信息。在根urls.py文件中进行配置,为媒体文件夹media添加相应的路由地址,具体如下,这一步主要是为了在浏览器访问到media的文件,如果不需要在浏览器访问media的文件,不需要配置url,一般情况下不需要配置:
"""django_ftp URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,re_path
from ftp.views import index,upload
#配置媒体文件夹media
from django.views.static import serve
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
path('ftp/',index),
path('upload/',upload),
re_path('media/(?P.*)',serve,{'document_root':settings.MEDIA_ROOT},name='media')
]
本文开发了一套简单的文件FTP服务器(无需修改任何代码,直接运行),源代码地址如下:
https://download.csdn.net/download/wujinpeng0508/89381730