在django里面上传文件

views.py

# Create your views here.
# coding=utf-8
from django.http import HttpResponse,HttpResponseRedirect
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.csrf import csrf_protect
#上传文件
@csrf_exempt
@csrf_protect
def upload_tomcat_config_file(request):
    from django import forms
    class UploadFileForm(forms.Form):
        title = forms.CharField(max_length=1000000)
        file = forms.FileField()
    if request.method == "GET":
        data='get'
    if request.method == "POST":
        f = handle_uploaded_file(request.FILES['t_file'])
    return render_to_response('upload_config_file.html',context_instance=RequestContext(request))
    #return HttpResponse(data)
def handle_uploaded_file(f):
    f_path='/srv/salt/config/'+f.name
    with open(f_path, 'wb+') as info:
        print f.name
        for chunk in f.chunks():
            info.write(chunk)
    return f
#上传文件结束

upload_config_file.html内容如下

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>` title `</title>
</head>
<body>
    <a>配置文件上传</a>
    <form action="/opsapi/command/up_file" method="post" enctype="multipart/form-data" accept-charset="utf-8">
        {% csrf_token %}
        <input type="file" name="t_file" value="" />
        <button>Submit</button>
    </form>
</body>
</html>

url的配置就不写了,效果如下

141334391.png

141411921.png

上传到服务器上面

141816823.png

我这里是用时间来保存的,代码和上面稍有不同