2011-07-19 3 views
2

初めて質問を投稿する。私は基本的に私はここにしてDjangoのドキュメントサイトで見つけたと私は私がここでDjangoでファイルをアップロードする:無効な形式

間違ってやっているかを把握することができないすべてのものをコピーした私のviews.pyファイルからコードがある

from django import forms 

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

def upload_file(request): 
    form = UploadFileForm(request.POST, request.FILES) 
    if form.is_valid(): 
     response = "Form is valid."    
    else: 
     response = "Failed to upload attachment." 
    return HttpResponse(response) 

そして、私のhtmlファイル:

<form name="attachmentForm" action="http://mysite.com/uploadattachments" enctype="multipart/form-data" method="post"> 
     <p> 
    Please specify a file, or a set of files:<br/> 
    <input id="attachment" type="file" name="datafile" size="40"/> 
     </p> 
     <input type="submit" value="Send"/> 
    </form> 

私はそれをテストするとき、私は、「添付ファイルのアップロードに失敗しました」を得ます。私がここで行方不明になっていることは明らかですか?私はちょうどdjangoに少し新しいので、それは単なる愚かなエラーである場合、私は謝罪します。 ありがとうございます!

答えて

1
この上

全くわからないが、私はあなたのフォームフィールドfileとUploadFileFormクラスの定義でtitleを命名しましたから、HTMLでフォームフィールドのname属性はそれと一致しなければならないことを推測する、すなわちファイルアップロードフィールドには「ファイル」という名前を付ける必要があります。また、「タイトル」フィールドが必要です。

フォームを自動的に、または半自動的にレンダリングする方法の例がある場合、https://docs.djangoproject.com/en/dev/topics/forms/をチェックアウトすることをお勧めします。自動的にレンダリングされたフォームを使用したら、必要に応じてカスタマイズすることができます。

+0

お返事ありがとうございます。私はそれらを一致させるために名前を変更しようとしましたが、それでも私は同じ応答を与えています。私もdjangoサイトのサンプルを見てきたので、コードは本当にダムでシンプルですが、form.is_valid()テストをまだパスしていません。 – Alexandra

+0

ヒントとサンプルの間で機能しました。名前を一致させることは、問題の一部を間違いなく解決します。 – Alexandra

関連する問題