2012-01-20 2 views
2

모델을 생성했으며 모델에서 ModelForms을 생성했습니다. 그러나 나는 관리자 페이지에있을 때 ModelForm에서 생성 된 위젯이 위젯과 같지 않다는 것을 알았습니다.관리자 위젯이 포함 된 Django ModelForm

I 수있는 방법 :

  1. 가 관리자 페이지의 것과 같은 위젯을 받으세요. 그것들은 굉장합니다. 외래 키 필드에는 참조 할 새 항목을 추가 할 수있는 '더하기'아이콘이 있습니다.

  2. 날짜 시간 위젯에는 현재 시간으로 필드를 즉시 채울 수있는 '지금'버튼이 있습니다.

  3. 위젯에 대한 멋진 플러그인이 있습니까? 지금까지 내가 가진 모든 것은 meh입니다. Datetime과 같은 필드에서도 이해할 수없는 일반 HTML 위젯입니다 (일반적인 일반 입력 컨트롤을 생성합니다).

+0

http://stackoverflow.com/questions/38601/using-django-time-date-widgets-in-custom-form 이 답변은 필요한 것을 설명합니다. 어떤 위젯을 직접 작성할 수 있는지 알아 내면 정말 쉽습니다. –

답변

4

django/contrib/admin/widgets.py를보아야합니다. 여기에서 관리 사이트 위젯을 찾을 수 있습니다. 귀하의 템플릿 (CSS는, JS)

나는 또한 아주 좋은 LIB는 경우이다 django-floppyforms 보는 것이 좋습니다 필요한 미디어 파일이 포함되어 있는지 확인

from django.contrib.admin.widgets import AdminDateWidget 

class MyForm(ModelForm): 

    class Meta: 
     widgets = { 
      'date': AdminDateWidget(), 
     } 

: 그럼 당신은 형태, 같은 것을 만들 더 나은 위젯을 원할 때

+0

단지 빠른 질문입니다. floppyforms에는 admin과 같은 기능이 있습니다 (이제 datetime 필드, 외래 키에 대한 자동 추가 버튼 등) –

+0

날짜 위젯. https://github.com/brutasse/django-floppyforms/blob/master/docs/widgets.rst를 참조하십시오. 나는 이것을 사용한 적은 한번도 없었던 것 같아. – luc

관련 문제