Django 양식은 입력에 대한 사용자 정의 클래스 속성을 출력하지 않습니다.

오웬 벨

ModelForms를 사용하여 사용자 지정 CSS 클래스로 양식을 출력하려고합니다.

urls.py :

url(r'^mymodel/add/$',
    MyModelCreate.as_view(template_name='add_MyModel.html'),
    name='mymodel-add')

views.py :

from django.views.generic.edit import CreateView, UpdateView, DeleteView
from myapp.models import MyModel
class MyModelCreate(CreateView):
  model=MyModel
  def get_context_data(self, **kwargs):
    context=super(MyModelUpdate, self).get_context_data(**kwargs)
    context['css'] = settings.CSS_PATH
    return context

기본 ModelForm의 init을 재정의하고 모든 필드를 반복 하려고 시도했습니다 .

class MyBaseForm(forms.ModelForm):
  def __init__(self, *args, **kwargs):
      super(MyBaseForm, self).__init__(*args, **kwargs)
      for key in self.fields:
          self.fields[key].widget.attrs.update(
                                        {'class' : 'field-class',
                                        'placeholder':self.fields[key].label
                                        })

formfield_callback기본 클래스를 추가하기 위해 Form 클래스를 설정해 보았습니다 .

def add_field_classes(f, **kwargs):
  field = f.formfield(**kwargs)
  if field:
      w = field.widget
      if 'class' not in field.widget.attrs:
          field.widget.attrs['class'] = ''
      field.widget.attrs['class'] += ' form_class'
      if isinstance(w, forms.widgets.SelectMultiple):
          field.widget.attrs['class'] += ' multiselect'
  return field

class MyModelForm(forms.ModelForm):
  formfield_callback=add_field_classes

... 위젯을 통해 속성 설정을 시도했습니다.

class MyModelForm(forms.ModelForm):
  class Meta:
    fields = ('field1',)
    widgets={'field1':forms.Textarea(attrs={'class':'field-class'}),}

내가 무엇을하든 템플릿은 클래스없이 위젯을 출력합니다. 나는 단지 사용 {{form}}을 시도했고 필드를 반복하여 시도했습니다.{{for field in form}}{{endfor}}

양식 인스턴스와 템플릿을 사용 manage.py shell하고 렌더링하면 클래스가 포함되므로 뷰 수준에서 어떤 일이 발생했을 것 같습니다.

어떤 아이디어?

Tareq

보기에서 사용자 지정 양식을 사용해야합니다. CreateView에 form_class를 지정하지 않으면 django가 생성합니다.

from django.views.generic.edit import CreateView, UpdateView, DeleteView
from myapp.models import MyModel

class MyModelCreate(CreateView):
  model=MyModel
  form_class = MyBaseForm
  def get_context_data(self, **kwargs):
    context=super(MyModelUpdate, self).get_context_data(**kwargs)
    context['css'] = settings.CSS_PATH
    return context

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 정의 필드 속성에 대한 클래스를 상속하도록 Django 양식 가져 오기

분류에서Dev

양식의 모든 입력에서 사용자 정의 속성을 복사 한 다음 다시 할당하는 방법은 무엇입니까?

분류에서Dev

AngularJS-지시문을 사용하여 입력 양식에 대한 .error CSS 클래스 설정

분류에서Dev

양식 입력에 대한 종속 사용자 지정 유효성 검사기를 만드시겠습니까?

분류에서Dev

양식을 호출하지 않고 Django에서 양식 입력 사용

분류에서Dev

차원에 대한 사용자 입력을 사용하여 배열을 클래스 변수로 정의

분류에서Dev

CI의 사용자 지정 양식 유효성 검사 클래스가 라이브 서버에서 호출되지 않습니다.

분류에서Dev

C #의 사전을 사용하여 동일한 클래스의 다른 속성 (값으로 형성됨)에 대한 고유 키로 일부 사용자 지정 클래스 속성 사용

분류에서Dev

단순 양식 사용자 컴포넌트가 입력에 속성을 추가하지 않습니다.

분류에서Dev

Ruby의 여러 클래스에서 사용자 입력을 사용하는 방법은 무엇입니까?

분류에서Dev

클래스를 사용하여 Python의 사용자 입력을 기반으로 인스턴스 속성 출력

분류에서Dev

Django에서 사용자 정의 양식의 필드 이름을 지정하는 방법은 무엇입니까?

분류에서Dev

PHP-여러 양식을 생성하지만 양식은 각 양식에 대해 동일한 내용 만 출력합니다.

분류에서Dev

드래그 이벤트에 대한 전체 달력-> 잡히지 않은 TypeError : 정의되지 않은 'isWithinClipping'속성을 읽을 수 없습니다.

분류에서Dev

printf에 대한 % m 형식 지정자가 "성공"을 출력하는 이유는 무엇입니까?

분류에서Dev

클래스 내 캡슐화 된 속성에 대한 탐색을 정의하는 방법은 무엇입니까?

분류에서Dev

부모 양식에서 시작하는 특정 클래스로 모든 자식 입력을 가져옵니다.

분류에서Dev

다른 클래스에 대한 종속성을 위해 @InjectMocks를 사용하는 방법은 무엇입니까?

분류에서Dev

JSON.Net을 사용하여 내 클래스의 특정 속성으로 다양한 이름의 JSON 속성을 읽을 수 있습니까?

분류에서Dev

사용자 정의 입력 소스에 대한 키보드 정의 파일은 어디에 있습니까?

분류에서Dev

Django 사용자 정의 양식-__init__ 메서드를 사용할 수있을 때 is_valid가 깨끗한 메서드를 호출하지 않습니다.

분류에서Dev

양식에서 입력 텍스트 상자의 값 속성을 사용하면 자리 표시 자 텍스트가 반환됩니다.

분류에서Dev

더 많은 속성을 가진 클래스에 대한 mutable.PriorityQueue 사용자 정의 순서

분류에서Dev

http 서비스를 사용한 각도 사용자 정의 유효성 검사-정의되지 않은 속성을 읽을 수 없습니다.

분류에서Dev

printf 및 대화 상자를 사용하여 출력 형식을 지정하는 방법은 무엇입니까?

분류에서Dev

양식에서 입력을 구문 분석 할 때 정의되지 않은 오류가 발생했습니다. 자바 스크립트

분류에서Dev

cout << term_cc <color, default, attrib>을 사용하는 Windows 터미널에 대한 C ++ 출력은 Windows에서는 색상과 속성을 올바르게 출력하지만 Linux에서는 출력하지 않습니다.

분류에서Dev

cout << term_cc <color, default, attrib>을 사용하는 Windows 터미널에 대한 C ++ 출력은 Windows에서는 색상과 속성을 올바르게 출력하지만 Linux에서는 출력하지 않습니다.

분류에서Dev

nginx 쿡북에 대한 사용자 정의 속성을 정의하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    사용자 정의 필드 속성에 대한 클래스를 상속하도록 Django 양식 가져 오기

  2. 2

    양식의 모든 입력에서 사용자 정의 속성을 복사 한 다음 다시 할당하는 방법은 무엇입니까?

  3. 3

    AngularJS-지시문을 사용하여 입력 양식에 대한 .error CSS 클래스 설정

  4. 4

    양식 입력에 대한 종속 사용자 지정 유효성 검사기를 만드시겠습니까?

  5. 5

    양식을 호출하지 않고 Django에서 양식 입력 사용

  6. 6

    차원에 대한 사용자 입력을 사용하여 배열을 클래스 변수로 정의

  7. 7

    CI의 사용자 지정 양식 유효성 검사 클래스가 라이브 서버에서 호출되지 않습니다.

  8. 8

    C #의 사전을 사용하여 동일한 클래스의 다른 속성 (값으로 형성됨)에 대한 고유 키로 일부 사용자 지정 클래스 속성 사용

  9. 9

    단순 양식 사용자 컴포넌트가 입력에 속성을 추가하지 않습니다.

  10. 10

    Ruby의 여러 클래스에서 사용자 입력을 사용하는 방법은 무엇입니까?

  11. 11

    클래스를 사용하여 Python의 사용자 입력을 기반으로 인스턴스 속성 출력

  12. 12

    Django에서 사용자 정의 양식의 필드 이름을 지정하는 방법은 무엇입니까?

  13. 13

    PHP-여러 양식을 생성하지만 양식은 각 양식에 대해 동일한 내용 만 출력합니다.

  14. 14

    드래그 이벤트에 대한 전체 달력-> 잡히지 않은 TypeError : 정의되지 않은 'isWithinClipping'속성을 읽을 수 없습니다.

  15. 15

    printf에 대한 % m 형식 지정자가 "성공"을 출력하는 이유는 무엇입니까?

  16. 16

    클래스 내 캡슐화 된 속성에 대한 탐색을 정의하는 방법은 무엇입니까?

  17. 17

    부모 양식에서 시작하는 특정 클래스로 모든 자식 입력을 가져옵니다.

  18. 18

    다른 클래스에 대한 종속성을 위해 @InjectMocks를 사용하는 방법은 무엇입니까?

  19. 19

    JSON.Net을 사용하여 내 클래스의 특정 속성으로 다양한 이름의 JSON 속성을 읽을 수 있습니까?

  20. 20

    사용자 정의 입력 소스에 대한 키보드 정의 파일은 어디에 있습니까?

  21. 21

    Django 사용자 정의 양식-__init__ 메서드를 사용할 수있을 때 is_valid가 깨끗한 메서드를 호출하지 않습니다.

  22. 22

    양식에서 입력 텍스트 상자의 값 속성을 사용하면 자리 표시 자 텍스트가 반환됩니다.

  23. 23

    더 많은 속성을 가진 클래스에 대한 mutable.PriorityQueue 사용자 정의 순서

  24. 24

    http 서비스를 사용한 각도 사용자 정의 유효성 검사-정의되지 않은 속성을 읽을 수 없습니다.

  25. 25

    printf 및 대화 상자를 사용하여 출력 형식을 지정하는 방법은 무엇입니까?

  26. 26

    양식에서 입력을 구문 분석 할 때 정의되지 않은 오류가 발생했습니다. 자바 스크립트

  27. 27

    cout << term_cc <color, default, attrib>을 사용하는 Windows 터미널에 대한 C ++ 출력은 Windows에서는 색상과 속성을 올바르게 출력하지만 Linux에서는 출력하지 않습니다.

  28. 28

    cout << term_cc <color, default, attrib>을 사용하는 Windows 터미널에 대한 C ++ 출력은 Windows에서는 색상과 속성을 올바르게 출력하지만 Linux에서는 출력하지 않습니다.

  29. 29

    nginx 쿡북에 대한 사용자 정의 속성을 정의하는 방법은 무엇입니까?

뜨겁다태그

보관