1. 安装python3 https://code.ziqiangxuetang.com/django/django-basic.html sudo yum install python3 -y 2. 安装django sudo pip3 install Django 3. 创建一个项目 django-admin.py startproject www 4. 目录说明: www: 项目的容器。 manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。 www/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。 www/settings.py: 该 Django 项目的设置/配置。 www/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。 www/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。 5. 启动服务器 python3 manage.py runserver 0.0.0.0:8000 6. 处理DisallowedHost vim www/settings.py ALLOWED_HOSTS = ['*'] 7. 查看命令 python3 manage.py 8. 创建一个应用/app python3 manage.py startapp huchangyi 9. 新定义的app加入到settings.py中的INSTALL_APPS中 自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件) vim www/settings.py 10. 定义视图函数 vim huchangyi/views.py # coding:utf-8 from django.http import HttpResponse def index(request): return HttpResponse(u"胡昌意") 11. 定义视图函数相关的URL vim www/urls.py from huchangyi import views as huchangyi_views # new urlpatterns = [ path('', huchangyi_views.index), path('admin/', admin.site.urls), ] 13. 新建测试目录 pwd:Print working directory mkdir make directory 12. 实现上传下载 https://www.cnblogs.com/dreamer-fish/p/5948428.html views: def mgmt_files(request): #列出树形目录,上传文件页面 if request.method == 'POST': path_root = "D:\\py\\ITFiles" #上传文件的主目录 myFile =request.FILES.get("file", None) # 获取上传的文件,如果没有文件,则默认为None if not myFile: dstatus = "请选择需要上传的文件!" else: path_ostype = os.path.join(path_root,request.POST.get("ostype")) path_dst_file = os.path.join(path_ostype,myFile.name) # print path_dst_file if os.path.isfile(path_dst_file): dstatus = "%s 已存在!"%(myFile.name) else: destination = open(path_dst_file,'wb+') # 打开特定的文件进行二进制的写操作 for chunk in myFile.chunks(): # 分块写入文件 destination.write(chunk) destination.close() dstatus = "%s 上传成功!"%(myFile.name) return HttpResponse(str(dstatus)) return render(request,'sinfors/mgmt_files.html') def mgmt_file_download(request,*args,**kwargs): #提供文件下载页面 #定义文件分块下载函数 def file_iterator(file_name, chunk_size=512): with open(file_name,'rb') as f: #如果不加‘rb’以二进制方式打开,文件流中遇到特殊字符会终止下载,下载下来的文件不完整 while True: c = f.read(chunk_size) if c: yield c else: break path_root = "D:\\py\\ITFiles" if kwargs['fpath'] is not None and kwargs['fname'] is not None: file_fpath = os.path.join(path_root,kwargs['fpath']) #kwargs['fapth']是文件的上一级目录名称 file_dstpath = os.path.join(file_fpath,kwargs['fname']) #kwargs['fname']是文件名称 response = StreamingHttpResponse(file_iterator(file_dstpath)) response['Content-Type'] = 'application/octet-stream' response['Content-Disposition'] = 'attachment;filename="{0}"'.format(kwargs['fname']) #此处kwargs['fname']是要下载的文件的文件名称 return response