【问题标题】:how to upload csv file in sqlite database django如何在sqlite数据库django中上传csv文件
【发布时间】:2013-10-28 05:21:39
【问题描述】:

我正在尝试通过 django 上传 csv,但它不起作用..

代码

Views.py

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

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

Url.py

urlpatterns = patterns('',
    (r'^$', create),
    #url(r'^articles/create/$', create, name='done'),
    url(r'^articles/create/$', 'article.views.create'),
)

models.py

from django.db import models
from time import time

def get_upload_file_name(instance, filename):
    return "uploaded_files/%s_%s" % (str(time()).replace('.','_'), filename)

class Article(models.Model):
    file = models.FileField(upload_to=get_upload_file_name)

Forms.py

from django import forms
from models import Article

class UploadForm(forms.ModelForm):
    class Meta:
        model = Article

html文件

{% csrf_token %} {{form.as_p}}

【问题讨论】:

  • 您确定发帖表单有效吗?

标签: python django django-models django-templates


【解决方案1】:

您的模板必须是:

<form method="post" enctype="multipart/form-data">
   {% csrf_token %}
   {{ form.as_p }}
   <input type="submit" />
</form>

请参阅文档中的 binding uploaded files to a form 部分。

【讨论】:

    猜你喜欢
    • 2010-12-25
    • 2020-04-21
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多