2011-09-01 2 views
2

Django 1.3에서 새로운 클래스 기반 일반보기로 양식 접두사 키워드를 설정하려면 어떻게해야합니까? 접두어를 설정하면 렌더링 된 HTML에 중복 ID가 표시되지 않습니다. 양식 API에 대해서는 here으로 기록되어 있습니다.Django 양식 접두사 클래스 기반 일반보기

AJAX를 사용하여로드 된 여러 가지 양식이 있으므로 중복 태그 문제가 발생합니다.

+0

질문을 명확히하십시오. 첫 번째 문장은 나에게 의미가 없습니다. 양식이보기와 별개임을 의미합니다. "양식 프리픽스를보기로 설정하는 것"은 무엇을 의미합니까? – akonsu

+0

폼은 파이썬 클래스입니다. MyForm (prefix = 'myform1')은 키워드를 설정하는 예제입니다. 링크 된 문서에 설명 된대로. – AgDude

답변

7

문제가 발생했습니다. 접두사가 아닌 form_class을 지정할 수있는 FormView을 사용하려고합니다.

나는이 시도하지 않은,하지만 난 하위 클래스 FormView을 제안, 또는 당신이 사용하고있는 접두사를 추가 할 get_form_kwargs 방법을 무시하고 어떤

는이 같은

할 수 :.

class MyFormView(FormView): 
    form_prefix = None 

    def get_form_kwargs(self): 
     kwargs = super(FormView, self).get_form_kwargs() 
     if self.form_prefix: 
      kwargs.update({'prefix': self.form_prefix}) 
     return kwargs 

그런 다음 urlconf의 MyFormView.as_view에 대한 인수에 form_prefix을 넣을 수 있습니다.

내가 말했듯이, 나는 이것을 시도하지 않았지만, 가치가 있을지도 모릅니다.

+0

감사합니다 던컨. 네,이 작품. 그리고 정확히 내가 찾고 있었던 것이 었습니다. – AgDude

+0

당신은 또한 'get_prefix'메소드를 오버라이드 할 수 있습니다 ;-) 또는 '접두사'클래스 속성을 설정할 수도 있습니다. –