2011-10-26 2 views
1

장고 사이트의 일부 문서를 Basic file uploadsFileField.storage과 같이 읽었습니다. 그러나, 나는 아직도 파일 (또는 이미지)을 서버에 업로드하고 링크를 데이터베이스에 저장하는 방법을 이해하지 못한다. 'image/% Y/% m/% d'와 같은 파일에 파일을 작성하고 싶습니다.이미지를 업로드하고 데이터베이스에 링크를 저장하는 방법

샘플 코드를 제공해주세요. 정말 고맙습니다. 로

내 코드는 다음과 같습니다 : 내가 믿는

#models.py 
class Image(models.Model): 
    imageid = models.AutoField() 
    title = models.CharField(max_length=100) 
    imagepath = models.ImageField(upload_to='images/%Y/%m/%d/')  

#forms.py 
class UploadFileForm(forms.Form): 
    title = forms.CharField(max_length=100) 
    image = forms.FileField() 

#views.py 
def upload_file(request): 
    if request.method == 'POST': 
     form = UploadFileForm(request.POST, request.FILES) 
     if form.is_valid(): 
     # How to upload file to folder named 'images/%Y/%m/%d/' 

     # How to save the link above to database 

     return HttpResponseRedirect('/success/url/') 
    else: 
     form = UploadFileForm() 
return render_to_response('upload.html', {'form': form}) 

답변

0

당신이 모델의 형태로 업로드 양식을 만든 다음 바로보기에서 저장하면이 파일 시스템에 파일을 저장하는 효과를 가질 것 모델의 패스. 이것은 기본적인 예이지만 작동해야한다고 생각합니다.

# forms.py 
class UploadFileForm(forms.ModelForm): 
    class Meta: 
     model = models.Image 

# views.py 
... 
form = UploadFileForm(request.POST, request.FILES) 
if form.is_valid(): 
    form.save() 
    return HttpResponseRedirect('/success/url/')