내 클래스에는 약 12 필드이 있습니다. 한 필드는 상태 인이고 다른 하나는 인 이유는입니다. 내가 장고 관리에서 편집 페이지로 이동하면 상태가 == '거부'인 경우에만 두 번째 필드 (이유 필드)를 표시하려고합니다. 문제는 매우 간단합니다. 사용자 입력에 따라 필드를 보여줍니다.사용자 선택에 따라 옵션이 변경됩니다.
0
A
답변
3
이 작업을 서버 측에서 수행하는 쉬운 방법은 없습니다. 그러나 JavaScript를 사용하여 상태를 기반으로 이유 필드의 가시성을 전환하는 것이 상대적으로 쉽습니다.
class YourModelForm(forms.ModelForm):
class Meta:
model = YourModel
class Media:
js = ('path/to/jquery.js', 'path/to/your-js-file.js')
:
$(document).ready(function() {
// Toggle visibility on page load
setReasonVisibility();
// Toggle visibility on status change
$('form #id_status').bind('change', setReasonVisibility)
function setReasonVisibility() {
var form = $('form');
var status = $(form).find('#id_status').val();
if (status == 'rejected')
$(form).find('#id_reason').show();
else
$(form).find('#id_reason').hide();
}
});
당신이 어떻게 든이 같은 모델의 양식에 Media
클래스에서 참조해야 할 양식은 자바 스크립트 파일을로드하도록하려면 : 다음은 jQuery를 사용하여 예입니다
이 솔루션은 Django 관리자 내에서 원활하게 작동해야합니다.
0
변경 목록을 언급하고 있는지 또는 항목의 개별 편집 페이지를 언급하고 있는지 확실하지 않습니다. 후자의 경우 @ Guðmundur H는 좋은 jQuery 솔루션을 제공합니다. 이전 모델 인 경우 reason_if_rejected 모델에 메소드를 제공하면 상태가 '거부 됨'인 경우 이유를 반환하고 그렇지 않으면 빈 문자열을 반환합니다. 그런 다음 list_display 설정에이 메소드의 이름을 포함 할 수 있습니다.
관련 문제
- 1. 사용자 선택에 따라 콘텐츠 표시
- 2. 옵션이 사용자의 선택에 따라 단계적으로 표시됩니다.
- 3. 사용자 선택에 따라 NSMenuItem 변경하기
- 4. 사용자 선택에 따라 사용자 정의 클래스 초기화
- 5. 메뉴의 사용자 선택에 따라 다른 객체 표시
- 6. SharePoint 웹 파트 : 사용자 선택에 따라 렌더링
- 7. 사용자 선택에 따라 통화 기호를 변경하는 방법
- 8. 사용자 선택에 따라 레이아웃 요소를 변경하는 방법
- 9. 사용자 선택에 따라 데이터를 저장하기위한 테이블 디자인
- 10. 사용자 선택에 따라 asp.net 응용 프로그램에서 사용자 언어 변경
- 11. VS2010 옵션이 자동으로 계속 변경됩니다 (명령문 완성)
- 12. 선택에 따라 컨텍스트 메뉴 렌더링
- 13. 구성 활동의 사용자 선택에 따라 위젯에서 StateListDrawable을 ImageButton/ImageView.backgroundDrawable로 설정하십시오.
- 14. 사용자 선택에 따라 웹 페이지에서 서체/글꼴을 동적으로 변경합니다.
- 15. InnoSetup의 사용자 선택에 따라 다른 경로를 따르는 방법?
- 16. Javascript 드롭 다운은 사용자 선택에 따라 가격을 업데이트합니까?
- 17. 드롭 다운 목록의 사용자 선택에 따라 컨트롤 표시
- 18. Jquery가있는 드롭 다운에서 사용자 선택에 따라 텍스트 추가/제거
- 19. 이전 선택에 따라 mysql에서 jquery 드롭 다운
- 20. DataHeader의 선택에 따라 ColumnHeaderStyle의 배경색을 변경하십시오.
- 21. 노드 선택에 따라 jung 노드 축소
- 22. JTree의 선택에 따라 JPopupMenu의 JMenuItems 표시/숨기기
- 23. javascript - 선택에 따라 양식 동작을 변경 하시겠습니까?
- 24. 다른 JComboBox의 선택에 따라 JComboBox 요소 변경
- 25. DropdownChoice 선택에 따라 패널을 동적으로 추가
- 26. 선택에 따라 다른 요소를 활성화/비활성화합니다.
- 27. 라디오 버튼 선택에 따라 필드 값을 늘립니다.
- 28. 자동 완성 : 선택에 따라 여러 필드 채우기
- 29. 관련된 그룹 상자가있는 양식이 선택에 따라 업데이트됩니다.
- 30. 드롭 다운 상자 선택에 따라 테이블 변경