0

나는 django-haystack을 사용하며보기는 SearchView이고 양식은 SearchForm입니다. 이 SearchForm은 내 SearchView에 있으며 /search/ 페이지에 있으며 매력처럼 작동합니다.장고 기본 템플릿에서 form_class 사용

하지만 내 모든 페이지에 검색 양식이 필요합니다. 그래서 내 서식 파일 base.html 대신 페이지 특정 서식 파일 search.html 배치해야합니다.

그러나 컨텍스트 변수 {{ form }}은 내보기 SearchView에서만 사용할 수 있으며 일부 페이지에서만 사용할 수 있습니다.

어떻게 해결할 수 있습니까? 나는 컨텍스트 프로세서 나 미들웨어가 그렇게 할 것이라고 생각하지만, 미들웨어에서 이것을하는 것은 과도한 일이다. 정상적인 연습이란 무엇입니까? 나는 많은 사람들이 내 앞에이 문제를 우연히 발견했다고 생각한다.

답변

1

다른보기의 컨텍스트 (컨텍스트 변수로 'form'을 사용하는 것이 양식을 처리하는보기의 일반적인 방법이기 때문에)를 포함하지 않도록 사용자 지정 templatetag - 바람직하게는 포함 태그 (https://docs.djangoproject.com/en/1.6/howto/custom-template-tags/#inclusion-tags)를 사용하는 것이 가장 안전합니다.

원하는대로 모든 것을 작동 시키려면 자신의 검색보기를 롤업해야 할 수도 있습니다 ... (기본값을 기준으로)

관련 문제