我見過類似的問題,但不能算出這個接收POST數據,我有上傳的圖片上的模型的程序:查看沒有從圖像上傳頁面
views.py:
def upload_pic(request):
if request.method == "POST":
image_form = ImageUploadForm(request.POST, request.FILES)
if image_form.is_valid():
image_form.save()
return HttpResponse('success')
else:
return HttpResponse('fail')
return render(request, 'tracker/upload_pic.html', {"image_form": image_form})
模板:
{% load staticfiles %}
<!DOCTYPE html>
<html>
<body>
<form method="POST" enctype="multipart/form-data">{% csrf_token %}
{{ image_form.img }}
<input type="submit" value="submit" />
</form>
</body>
</html>
urls.py:
urlpatterns = [
url(r'^upload_pic', views.upload_pic, name='upload_pic')
]
只是想保存到用戶模式,所以我可以在以後找回它,但我不能訪問任何POST數據,我也試着在HTML模板添加action = "{% url upload_pic %}"
我form
,但我得到了NoReverseMatch
錯誤
class ImageUploadForm(forms.ModelForm):
#model to store the information about the pictures
class Meta:
model = ExtendedProfile
exclude =()
請發佈圖片上傳表格也 –
一個錯誤我想指出'action =「{%url upload_pic%}」'這是不正確的。這'動作=「{%URL‘upload_pic’%}」'是正確的 –
此外,該視圖可以不承擔責任擺在首位顯示的形式,因爲你只是顯示爲「失敗」時,它是不是一個POST。所以你應該顯示這樣做的視圖和URL,並解釋爲什麼它們是分開的。 –