Загрузка файлов с помощью Django + HTML Forms - PullRequest
2 голосов
/ 23 февраля 2012

Я довольно сильно смущен этим, я не совсем уверен, где я должен соединить мою форму и, так сказать, посмотреть.

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

Выше моя модель для формы - ниже вид.

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

Вот форма:

<form action="/upload/" enctype="multipart/form-data" method="post">
            {% csrf_token %}
            <p>
            Please specify a file, or a set of files:<br>
            <input type="text" name="title" size="30">
            <input name="file" type="file" size="40">
            </p>
            <div>
            <input type="submit" value="Send">
            </div>
        </form>

У меня был какой-то собственный код, но, увидев пару других вопросов о переполнении стека и просмотрев документацию, я упростил его. (Модель и вид функции можно найти в этой теме Загрузка файла с помощью Django: Неверная форма )

Я действительно заблудился из-за того, как я должен связать их из формы для просмотра на сервер. Я установил свои настройки так, чтобы действительно был медиа-корень, куда эти файлы якобы должны идти. Я чувствую, что у меня может быть неправильный тип ввода в форме.

Я получил ответ «Не удалось загрузить», означающий, что форма неверна. Я просто не знаю, как именно это получается.

1 Ответ

0 голосов
/ 24 февраля 2012

Вы должны использовать ModelForm , если у вас есть модель под ним. Так что вам просто нужно сделать form.save () внутри вашего представления, чтобы сохранить объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...