1

输出是一个 HTML 文件,允许用户上传 CSV 文件并将其转换为 excel。当用户单击上传时,这两个文件都出现在页面上。

发生这种情况很奇怪,有时用户可以从同一页面下载文件,如果他单击文件或保存为但有时没有。

我尝试使用 SYNCDB 和 rrstart 但问题仍然存在。

这是views.py

def list(request):
    # Handle file upload

    if request.method == 'POST':
        form = DocumentForm(request.POST, request.FILES)
        if form.is_valid():
            newdoc = Document(docfile = request.FILES['docfile'])
            newdoc.save()
        docfile = request.FILES['docfile']       

        path, xfilename = os.path.split(docfile.name)
        xfilename = os.path.splitext(xfilename)[0]
        xnewfilename = 'Modified_%s.xlsx' % xfilename
        newfilename = os.path.join(path, xnewfilename)
        wwdoc = Document(docfile = newfilename)
            wwdoc.save()

        workbook = xlsxwriter.Workbook('/home/koin/Documents/myproject/myproject/myproject/media/documents/'+newfilename)

..........一些数据库插入和更新............在sqlite db中的记录

        worksheet = workbook.add_worksheet("Emp")
        worksheet2 = workbook.add_worksheet("Manager")
        worksheet3 = workbook.add_worksheet("Clerk")

            # Redirect to the document list after POST
            return HttpResponseRedirect(reverse('myproject.myapp.views.list'))
    else:
        form = DocumentForm() # A empty, unbound form

     documents = Document.objects.all()
    return render_to_response(
        'myapp/list.html',
        {'documents': documents, 'form': form},
        context_instance=RequestContext(request)l
    )

使用 sqlite3。请指导什么是错的。

列表.html

{% for document in documents %}
                <li><a href="{{ document.docfile.url }}">{{ document.docfile.name }}</a></li>
{% endfor %}

项目/urls.py

urlpatterns = patterns('',
    (r'^myapp/', include('myproject.myapp.urls')),
    (r'^$', RedirectView.as_view(url='/myapp/list/')), # Just for ease of use.
    (r'', 'myproject.myapp.views.list'),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我发现这一行在特定停止用户下载文件

(r'', 'myproject.myapp.views.list'),

如何为 csv 和 xlsx 文件添加例外?

4

0 回答 0