"다른 추가"링크를 숨기고 "저장하고 계속 편집"버튼을 계속 눌러 다른 라인을 추가 할 수 있습니까?Django : admin 더하기 추가 버튼
답변
귀하의 질문은 특별히 구체적이지는 않지만 템플릿을 어지럽히 지 않고 관리자의 동작을 변경하는 방법이 있습니다.
필자는 인라인에 개체를 추가하기 전에 부모 모델을 먼저 만들어야한다고 생각했습니다. 이는 다음과 같이 수행되었습니다.
class SomethingInline(admin.TabularInline):
model = Something
extra = 0
...
def get_max_num(self, request, obj=None, **kwargs):
max = super(SomethingInline, self).get_max_num(request, obj, **kwargs)
if obj:
return max
return 0
max_num
과 비슷한 것을 사용할 수 있습니다. 인라인이 줄 수 인 max_num
에 도달하면 "다른 항목 추가"버튼이 비활성화됩니다. 따라서 max_num
을 현재 인라인 객체의 수를 +1하도록 동적으로 설정하면 사용자는 저장하기 전에 한 번에 하나씩 만 추가 할 수 있습니다.
, 당신은 할 수 있습니다
def get_max_num(self, request, obj=None, **kwargs):
if obj:
max = obj.something_set.count() + 1
else:
max = 1
return max
InlineModelAdmin.extra
, InlineModelAdmin.max_num
, InlineModelAdmin.min_num
및 InlineModelAdmin.get_max_num()
을. https://docs.djangoproject.com/en/1.7/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.max_num은 원하는 동작을 수행하기에 충분해야합니다.
max_num을 0
으로 설정하십시오. 새 개체를 추가하지 못하게합니다.
class ItemInline(admin.TabularInline):
model = Item
max_num = 0
여분을 1로 설정하고 max_num을 3으로 설정하면 하나의 새로운 행이 생깁니다. 3 개의 항목이 추가되면 사라지는 추가 버튼.
class ItemInline(admin.TabularInline):
model = Item
extra = 1
max_num = 3
원하는 동작을 위해 주위를 둘러보십시오.
class Essai_TemperatureInline(admin.TabularInline):
model = Essai_Temperature
extra= 2
class Media:
css = { "all" : ("/static/css/java.css",) }
및 CSS 파일 :
.inline-related tr.add-row a { display: none; }
왜이 모든 복잡한 답변
그게 작동하지 않습니다. extra = 1이면 새 줄이 있습니다. 추가 = 1 및 max_num = 3 또는 max_num = 2 .... 나는 새로운 라인이없고 "다른 것을 추가하십시오"가 숨겨져 있습니다 – Patrice
아마도 문제는 django 1.4.8 ..... – Patrice
와 같습니다. 그것은 정확히 어떻게 당신의 상황에서 바로 얻는 것이 중요하지 않습니다. 이 답은 문제를 어떻게 해결할 수 있는지 보여줍니다. 더 나은 질문을하고 더 나은 답변을 받으십시오. 정확히 의도 한 행동은 무엇입니까? – allcaps
- 1. Django admin overriding - 인쇄 버튼 추가
- 2. Django - Admin - 왼쪽에 객체 추가 버튼
- 3. Django admin, 특정 foreignkey 필드에 + 부호 더하기
- 4. Django admin "사이트에서 저장 및보기"버튼
- 5. django admin - 즉시 필드 추가
- 6. django 1.5 admin 인라인 추가
- 7. Django : django-admin-tools : custom js 추가
- 8. Django Admin
- 9. Django Admin 단추 사용
- 10. Django admin DoesNotExist at/admin/
- 11. Django admin UnicodeDecodeError를 추가 할 때
- 12. Django Admin - 중개자 양식을 사용하여 추가
- 13. Django admin - 북마크로 나뉘어 진보기 추가/변경
- 14. Django admin : 추가, 변경, 삭제하지 못함
- 15. Django admin form ajax call 추가
- 16. Django Admin 전면 페이지에 링크 추가
- 17. django admin fieldsets - 관련 모델 필드 추가
- 18. Django Admin - 모델에 사용자 정의보기 추가
- 19. django admin 변경 목록 페이지의 추가 필드
- 20. 입력 값 + 더하기 버튼
- 21. sonata admin : 댓글 용 버튼 추가
- 22. django admin 중복 인라인
- 23. Django Admin :: HTML Input
- 24. Django admin 사용자
- 25. Django Admin : 인증 비활성화
- 26. Django - admin questions
- 27. django-admin-tools 설치
- 28. django admin 및 inline
- 29. Django Embed Admin Form
- 30. Django Admin 인터페이스의 안전성
예, 가능합니다. 장고 관리 템플릿을 사용자 정의해야합니다. 이 링크를 확인하십시오 : [장고 관리자 템플릿을 덮어 쓰고 확장하는 법] (http://stackoverflow.com/questions/6583877/how-to-override-and-extend-basic-django-admin-templates), [장고 관리 : 모델의 사용자 정의 템플릿] (http://stackoverflow.com/questions/20092749/django-admin-custom-template-for-a-particular-model) – AlvaroAV
나는 이미 이름이 template_base.html 인 템플릿으로 관리자를 사용자 정의했습니다. – Patrice
이 서식 파일의 경로는 무엇입니까? 'templates/admin/base_site.html'이어야합니다. – AlvaroAV