Python 使用django表单从url上载csv文件

Python 使用django表单从url上载csv文件,python,django,post,file-upload,Python,Django,Post,File Upload,因此,我试图上传一个csv文件,并通过一个url的帖子将其保存到一个变量中。我已经浏览了django文档中找到的文件上传。我只是不懂表单的用法?在这种情况下,目的是什么 他们使用一个表格示例: from django import forms from django.http import HttpResponseRedirect from django.shortcuts import render_to_response # Imaginary function to handle an

因此,我试图上传一个csv文件,并通过一个url的帖子将其保存到一个变量中。我已经浏览了django文档中找到的文件上传。我只是不懂表单的用法?在这种情况下,目的是什么

他们使用一个表格示例:

from django import forms
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response

# Imaginary function to handle an uploaded file.
from somewhere import handle_uploaded_file

class UploadFileForm(forms.Form):
    title = forms.CharField(max_length=50)
    file  = forms.FileField()

def upload_file(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            handle_uploaded_file(request.FILES['file'])
            return HttpResponseRedirect('/success/url/')
    else:
        form = UploadFileForm()
    return render_to_response('upload.html', {'form': form})
上载html:

<form enctype="multipart/form-data" action="/upload/" name="test" method="post">
    <input id="file" type="file" name="test" />
    <input id="signUpSubmit" type="submit" value="Submit">
</form>

models.py

from django.db import models

class Upload(models.Model):
    name = models.CharField(max_length=100)
    file = models.FileField(upload_to="images")
forms.py

from django import forms
from app_name.models import Upload

class UploadForm(forms.ModelForm):
    class Meta:
        model = Upload
views.py

def upload_file(request):
    if request.method == 'POST':
        form = UploadForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/success/url/')
    else:
        form = UploadFileForm()
    return render_to_response('upload.html', {'form': form})
upload.html

<form enctype="multipart/form-data" action="/upload/" name="test" method="post">
    {% csrf_token %}
    {{form.as_p}}
    <input id="signUpSubmit" type="submit" value="Submit">
</form>

{%csrf_令牌%}
{{form.as_p}}
models.py

from django.db import models

class Upload(models.Model):
    name = models.CharField(max_length=100)
    file = models.FileField(upload_to="images")
forms.py

from django import forms
from app_name.models import Upload

class UploadForm(forms.ModelForm):
    class Meta:
        model = Upload
views.py

def upload_file(request):
    if request.method == 'POST':
        form = UploadForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/success/url/')
    else:
        form = UploadFileForm()
    return render_to_response('upload.html', {'form': form})
upload.html

<form enctype="multipart/form-data" action="/upload/" name="test" method="post">
    {% csrf_token %}
    {{form.as_p}}
    <input id="signUpSubmit" type="submit" value="Submit">
</form>

{%csrf_令牌%}
{{form.as_p}}