Season 1 아카이브/프로그래밍
                
              Admin 페이지에서 특정 필드 readonly 로 변경하기
                문장전달자
                 2016. 3. 13. 12:33
              
              
                    
        728x90
    
    
  기본적으로 장고의 어드민 페이지는 모든 필드를 편집가능한(editable) 상태로 보여준다.
다음과 같이 특정 필드를 편집하지 못하게 readonly 필드로 만들 수 있다.
적용전(편집이 가능한 상태)
아래 예제는 세션 관리 테이블의 경우다.
2행과 같이 readonly 로 만들고 싶은 필드명을 튜플 형태로 기입한다.
admin.py
1 2 3 4 5 6 7 8 9 10 11 12 13  | class MstSessionAdmin(admin.ModelAdmin):     readonly_fields = ('sessionkey',)     fieldsets = [         ('Session Key',   {'fields': ['sessionkey']}),         (None,                 {'fields': ['id']}),         (None,                 {'fields': ['remote_ip']}),         (None,                {'fields': ['login_dt']}),     ]     list_display = ('sessionkey','usn',  'remote_ip', 'login_dt')     list_filter = ['login_dt']     search_fields = ['id', 'remote_ip']     ordering = ('-login_dt',)      | cs | 
적용 후의 모습으로 readonly 필드로 변경되었음을 확인할 수 있다.
728x90