媒体资源——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<path>.*)',serve,{'document_root':settings.MEDIA_ROOT},name='media') ]
本文开发了一套简单的文件FTP服务器(无需修改任何代码,直接运行),源代码地址如下:
https://download.csdn.net/download/wujinpeng0508/89381730