2017-09-30 2 views
1

/accounts/upload_save/ { 'form':}의 TemplateDoesNotExist 오류가 발생했습니다. 내가 /accounts/upload_save/error의 TemplateDoesNotExist

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> 

입니다

처럼 views.py에 을 썼다 버튼 , 나는 브라우저에 photo.html을 보여주고 싶다. 그러나 이제 오류가 발생한다. s, 비록 내가 registration/accounts/photo.html을 render.I에 썼지 만,이 문제를 해결하는 방법을 정말로 이해할 수 없습니다. 어떻게해야합니까?

답변

1

render을 첫 번째 인수로 전달하십시오.

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

정상적으로 작동합니다.

관련 문제