2017-09-30 136 views
1

我得到一個錯誤,TemplateDoesNotExist在/ accounts/upload_save/ {'form':}。 我views.py寫道TemplateDoesNotExist at/accounts/upload_save/error

def upload(request, p_id): 
    form = UserImageForm(request.POST or None) 
    d = { 
     'p_id': p_id, 
     'form':form, 
    } 
    return render(request, 'registration/accounts/photo.html', d) 

@csrf_exempt 
def upload_save(request): 

    if request.method == "POST": 
     form = UploadForm(request.POST, request.FILES) 
     if form.is_valid(): 
      data = Post() 
      data.image = request.FILES['image'] 
      data.save() 
    else: 
     form = UploadForm() 

    return render('registration/accounts/photo.html', {'form':form}) 

class UploadForm(forms.Form): 
    image = forms.FileField() 

urls.py

urlpatterns = [ 
    url(r'^regist/$', views.regist,name='regist'), 
    url(r'^regist_save/$', views.regist_save, name='regist_save'), 
    url(r'^profile/$', views.profile, name='profile'), 
    url(r'^photo/$', views.photo, name='photo'), 
    url(r'^upload/(?P<p_id>\d+)/$', views.upload, name='upload'), 
    url(r'^upload_save/$', views.upload_save, name='upload_save'), 
] 

profile.html

<div class="container"> 
     <form action="{% url 'accounts:upload_save' %}" method="POST" enctype="multipart/form-data"> 
     {% csrf_token %} 

     <div class="input-group"> 
      <label class="input-group-btn"> 
      <span class="btn btn-primary btn-lg"> 
       SELECT FILE 
      <input type="file" style="display:none" name="files[]" multiple> 
      </span> 
      </label> 
      <input type="text" class="form-control" readonly=""> 
     </div> 

     <div class="form-group"> 
     <input type="hidden" value="{{ p_id }}" name="p_id" class="form-control"> 
     </div> 
     <div class="form-group"> 
     <input type="submit" value="SEND" class="form-control"> 
     </div> 
     </form> 
    </div> 

當我把 「發送」 按鈕,我想在瀏覽器中顯示photo.html,但現在發生了錯誤雖然我寫了registration/accounts/photo.html渲染。我真的不明白如何解決這個問題。我該怎麼辦?

回答

1

render通過要求作爲第一個參數。

return render(request, 'registration/accounts/photo.html', {'form':form}) 

它將很好地工作。