2013-08-11 1 views
1

Django에서 Heroku의 도구 및 가이드를 사용하여 응용 프로그램을 개발 중이며 문제가 발생했습니다. 내 로컬 dev에 환경에서 나는 post 메서드를 사용하는 경우 내 의견에서 응답을 얻을 수 없습니다. 현재 간단한 폼을 사용하여 ID 컬렉션을보기에 게시하고 있습니다.Django 개발 서버, 비어있는 HttpResponse on Post 메서드

콘솔에는 200 응답 OK가 표시됩니다. 그러나 브라우저는 빈 html 페이지 (빈 body 태그)를 표시합니다.

생산/heroku 서버에서 응답이 반환되므로 코드 자체에 문제가있는 것이 아니라 설정 파일에 문제가 있다고 생각합니다. 나는 heroku django 설치 가이드를 통해 돌아가서 로컬 컴퓨터에 환경 변수를 사용하여 로컬 dev에있는 경우 해당 설정을 해제했지만 여전히이 문제가 있습니다.

수정 프로그램을 어디에서 찾을 수 있습니까? Windows 7 virtualenv 래퍼, 파이썬 2.7.5 및 장고 1.5 실행 중입니다.

고마워. 코멘트에서 요구 사항에 따라

는 WebinarToHS 템플릿 파일은 다음과 같습니다 :

<html> 
<head> 
    <title>Add Webinars to Hubspot</title> 
    <style> 
     html, body {background-color: #eee;} 
     #wrapper {background-color: #fefefe; width:60%; margin:0 auto; position:relative; margin-top:50px; padding:25px;} 
     form {text-align:center;} 
     label {font-weight:bold;} 
     .submit {float:right;} 
     .check {float:left; text-align:left; max-width:48%; margin-right:2%;} 
    </style> 
</head> 
<body> 
    <div id="wrapper"> 
     <form name="form" action="{%url 'G2WApi.views.webinarToHS' %}" method="post"> 
      {% csrf_token %} 
      <label for="webinarKey">Choose the Webinar(s) you would like to add to hubspot:</label><br/><br/> 
       <div class="check"> 
       {% for webinar in webinars %} 
        <input type="checkbox" name="webinars[]" value="{{ webinar.webinarKey }}" />{{ webinar.subject }}<br/> 
        {% if forloop.counter|divisibleby:length %} 
         </div><div class="check"> 
        {% endif %} 
       {% endfor %} 
      </div> 
      <div style="clear:both; height:10px;"></div> 
      <input class="submit" type="submit" value="Add to Hubspot" /> 
     </form> 
    </div> 
</body> 
</html> 
+0

은 'webinarToHS.html' 템플릿 파일을 공유합니다. –

답변

0

실제로 손에 문제를 해결하지 않지만, 내가 무엇을 위해 더 나은했다 방법을 발견 하려고하는 것. POST 메서드에 대한 코드의 모든 내용이 템플릿의 출력 또는 렌더링을 제외하고 작동한다는 것을 발견했습니다. HttpRedirection과 Django Messages System이 작동했습니다. 나는 그것을 사용하는 방법에 대한 자습서를 찾았으며, 원래 템플릿에 응답을 게시하는 데 완벽하게 작동합니다.

인식하지 못하는 사람들을위한 Django Messaging 시스템은 세부적인 요청을 원래 요청 객체에 추가하는 방법입니다. 여기 snipper

messages.success(request, "success message") 
return HttpResponseRedirect(request.path) 

코드의 첫 번째 행 (이 경우보기에 전달 된 것과 같은 하나)는 요청 개체로 메시지가 부착되어있어 다음 코드의 두 번째 줄에 방금 리디렉션 요청한 경로로 돌아갑니다. 장고는 다음과 같이 나머지 코드를 템플릿에 추가해야합니다.

{% if messages %} 
<ul class="messages"> 
    {% for message in messages %} 
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li> 
    {% endfor %} 
</ul> 
{% endif %} 

원하는대로 메시지를 반복해서 표시 할 수 있습니다. 나는 이것이 누군가를 돕기를 바랍니다.

관련 문제