2015-04-27 2 views
2

Я не могу добавить файл в django. Когда я нажимаю кнопку save, он не может сохранить базу данных.Не удается добавить файл в django 1.7

Это мой view.py:

def add_product(request): 
    if request.method == "POST": 
     form = PostForm(request.POST, request.FILES) 
     if form.is_valid(): 
      post = form.save(commit=False) 
      post.userprofile = request.user 
      post.save() 
      return redirect('kerajinan.views.add_product', pk=post.pk) 
    else: 
     form = PostForm() 
     return render(request, 'kerajinan/add_product.html', {'form': form}) 

add_product.html:

{% block content %} 
    <h1>New Product</h1> 
    <from method="POST" class="post-form" enctype="multiple/form-data">{% csrf_token %} 
     {{ form.as_p }} 
     <button type="submit" class="save btn btn-default">Save</button> 
    </from> 
{% endblock %} 

forms.py:

class PostForm(forms.ModelForm): 
    class Meta: 
     model = Product 
     fields = ('category','title', 'price','image', 'description') 

и urls.py:

url(r'^add_product/$', views.add_product, name='add_product'), 

Помогите решить мою проблему?

ответ

1

Вы должны изменить свой enctype к: enctype="multipart/form-data"

Ваше текущее значение (multiple/form-data), которое не является допустимым методом кодирования.

От the docs:

Обратите внимание, что request.FILES будет содержать только данные, если ... <form> что отправил запрос имеет атрибут enctype="multipart/form-data". В противном случае request.FILES будет пустым.

+0

спасибо, но у меня есть другая страница ошибки не нашли в http://127.0.0.1:8000/kerajinan/add_product/kerajinan.views.add_product – User0511

+0

ли сохранить файл? – rnevius

+0

файл сохраняется. его сделано, я меняю код возврата на возврат ('/ kerajinan/add_product /', pk = post.pk) – User0511

Смежные вопросы