admin panel과 실제 view 사이를 오고가기 위해 필요합니다.
@admin.register(models.Room)
class RoomAdmin(admin.ModelAdmin):
inlines = (PhotoInline,)
fieldsets = (
... 중략
class Room(core_models.TimeStampedModel):
""" Room Model Definitions """
name = models.CharField(max_length=140)
description = models.TextField()
... 중략
def get_absolute_url(self):
return f"/rooms/{self.pk}"
다음과 같이 간단히 작성된 admin과 그에 연결된 모델이 있다면, 해당 모델에 get_absoulte_url 함수를 생성합니다.
이제 어드민 패널에서 VIEW ON SITE 버튼이 뜬 것을 볼 수 있습니다. 클릭하면 return한 경로로 이동합니다.
namespace와 name을 이용해서 다음과 같이 작성해줘도 같은 효과를 얻을 수 있습니다.
arguments를 주는 것을 잊지 맙시다.
def get_absolute_url(self):
return reverse("rooms:detail", kwargs={"pk": self.pk})
'Django, Flask > 🔫 Django' 카테고리의 다른 글
Forms API 와 validation (0) | 2020.07.03 |
---|---|
404 에러 핸들링 (0) | 2020.06.18 |
Path Converter와 namespace, name을 활용한 link (0) | 2020.06.16 |
Class Based Views(CBV) 근데 generic-display를 곁들인 (0) | 2020.06.16 |
django로 pagination 구현하기 (+ querysets are lazy!) (0) | 2020.06.15 |