如何使用djang中的model实例给出文件夹名

2024-09-27 23:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

python新手。不管怎样,我正在去第一个项目的路上。在

看我需要上传多个文件到一个文件夹,所以我想出了一个这样的想法。在

folder_name1
------myfiles1.jpg
------myfiled2.jpg
folder_name2
------mynewfiles.jpg
------mynewfiles1.jpg

我读了很多教程这是我的模型.py在

^{pr2}$

更新:这是我的视图.py在

def viewalbum(request):
    if request.method == 'POST':
        form = AlbumForm(request.POST, request.FILES)
        if form.is_valid():
            alubmnew = Album()
            albumvalue = Album()

            albumnew = Album(albumname = request.POST.get('albumname', None))
            albumvalue = Album(audiofile = request.FILES['audiofile'])

            #for albumvalue in request.FILES.getlist('audiofile'):
            albumvalue.save()
            albumnew.save()
            return HttpResponseRedirect(reverse('google.views.viewalbum'))
    else:
        form = AlbumForm()
    return render_to_response('audio/test.html',{'form': form}, context_instance=RequestContext(request))

我现在的问题是。。它不创建albumname文件夹

而且在我的表格里,我不能一次上传多个文件。它实际上只需要上传一个文件。。。在


Tags: 文件pyform文件夹albumifrequestfiles
3条回答

试试看

import os
def content_file_name(instance, filename):  
    return os.path.join('uploads/%s' % instance.albumname, filename)

这是装在相册名文件夹里吗?在

你需要像这样改变观点

    albumvalue = Album()
    albumvalue.albumname = request.POST.get('albumname', None)
    albumvalue.audiofile = request.FILES['audiofile']
    albumvalue.save()

我认为曼森·汉森给出了正确的模型编写方法。在

import os
def content_file_name(instance, filename):   
    upload_dir = os.path.join('uploads', instance.albumname)  
    if not os.path.exists(upload_dir):
        os.makedirs(upload_dir)
    return os.path.join(upload_dir, filename)

相关问题 更多 >

    热门问题