본문 바로가기

기술

[Django] 유용한 Django Admin Tips!

어떤 종류의 피드백도 환영합니다! 아울러 다른 종류의 Tip이 있다면 공유해주세요!

Admin에 Image Tag 넣기

Admin에 이미지를 넣으면 url은 보이지만 이미지는 보이지 않는다. 이를 보이게 하는 방법이 있다. 전략은 model class에 image_tag라는 함수를 정의한다. 이 함수는 HTML 형식을 반환한다. 이후 admin에서 이를 readonly_fields로 불러오는 것이다.

 

적용했을 경우 다음과 같이 Admin에 적용된다.

 

Image Tag 저장 모습

나처럼 궁금한 사람이 많이 있나 보다:

https://stackoverflow.com/questions/16307307/django-admin-show-image-from-imagefield

 

Django Admin Show Image from Imagefield

While I can show an uploaded image in list_display is it possible to do this on the per model page (as in the page you get for changing a model)? A quick sample model would be: Class Model1(models.

stackoverflow.com

다음은 잘 정리된 글이다:

https://teamtreehouse.com/community/django-display-imagefield-with-adminsiteregistermodelmymodel-trick

 

Django: display ImageField() with admin.site.register(model.MyModel) trick? | Treehouse Community

Participate in discussions with other Treehouse members and learn.

teamtreehouse.com

Admin 특정 필드 뒤에 Inline Model Admin 붙이기

기본적으로 Django admin 페이지에서 Inline Model은 맨 뒤에 추가된다. 하지만 admin 페이지를 커스터마이징 하다보면 특정 필드 뒤에 Inline Model을 넣고 싶을 때가 있다. 장고에서 지원해주는 기능은 아니지만 다음 페이지를 통해 해결방법을 찾아냈다.

 

https://linevi.ch/en/django-inline-in-fieldset.html

 

Django admin: How to insert Inline between fields

Ready to use snippet to solve your problem with blackjack and hookers ;)

linevi.ch

따라 하니 매우 잘 된다. 아쉬운 점은 Nested Admin을 사용할 경우 적용이 안 된다는 점...

마치며

적용된 코드는 Github에 있다... 하지만 부족한 점이 많고 아마 위 설명으로 충분할 것이라 생각한다.