2014-12-05 2 views
8

데이터베이스에 추가되기 전에 특정 카테고리가 필요한 Post 모델이 있고이 카테고리가 자동으로 생성되기를 원합니다. addPost 버튼을 클릭하면 다른 페이지로 이동하므로 카테고리는 이전 페이지 URL의 일부를 취하여 결정됩니다.Django : 이전 URL 얻기

이전 페이지 URL을 문자열로 가져 오는 방법이 있습니까?

감사합니다.

편집 : 여기 AddPost 버튼을 추가했습니다.

<aside class="addPost"> 
     <article> 
      <form action="/Forum/addPost"> 
        <input type="submit" name="submit" value="Add Post"/> 
      </form> 
     </article> 
</aside> 

답변

7

는 현재 request.META.HTTP_REFERER

더 많은 정보를 사용하여 참조 URL을 얻을 수 있습니다 : https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META

+0

사과를 내가 @tryingtolearn 코멘트에 대답 할 수는 없지만 미래의 사람들을 위해, 당신이 사용할 수있는, 꽤 그 작동 방식을 따르지 않습니다. 설명해 주시겠습니까? 이 방법으로 URL을 검색 할 수 있다면 문자열로 처리 할 수 ​​있습니까? – tryingtolearn

+3

request.META.HTTP_REFERER를 사용하려고 할 때 dict 객체에 HTTP_REFERER 특성이 없다는 오류가 발생합니다. – tryingtolearn

1

훨씬 더 신뢰할 수있는 방법은 명시 적으로 포스트 추가 버튼의 URL에 카테고리를 전달하는 것입니다.

+0

죄송합니다. 정교하게 말씀해 주시겠습니까? 나는 이것에 대한 확실한 초보자이다. – tryingtolearn

10

self.request.META['HTTP_REFERER']을 사용하면 가능하지만 이전 페이지의 탭 이전 페이지 만 웹 사이트에있는 경우 존재합니다. 그렇지 않으면 HTTP_REFERER이 META dict에 존재합니다. 따라서 조심해서 .get() 표기법을 사용하고 있는지 확인하십시오.

# Returns None if user came from another website 
referer = self.request.META.get('HTTP_REFERER') 
+0

'self'라는 이름이 정의되지 않았습니까? –

3

request.META['HTTP_REFERER']