Показать / скрыть определенное поле на основе нажатия пользовательской кнопки в Django Admin
django-models У меня есть модель Django следующего вида:
class Webhook(models.Model):
uuid = models.UUIDField(default=uuid.uuid4, editable=False)
url = models.CharField(max_length=256)
credentials = models.JSONField(null=True, blank=True, default=dict)
@admin.register(models.Webhook)
class WebhookAdmin(admin.ModelAdmin):
list_display = ("id", "uuid", "url")
fields = ("uuid", "url", "toggle_credentials_button", "credentials")
readonly_fields = ("uuid", "toggle_credentials_button")
def toggle_credentials_button(self, obj):
return format_html("""<a class="button">Toggle Credentials</a> """)
toggle_credentials_button.allow_tags = True
Кнопка Toggle Credentials
, показанная на скриншоте, является пользовательской кнопкой. Я хочу показывать/скрывать поле credentials на основе нажатия/переключения кнопки Toggle Credentials
, т.е. если поле credentials в данный момент отображается, то скрыть поле после нажатия кнопки и наоборот.
По умолчанию поле credentials всегда должно быть скрыто, когда пользователь посещает страницу, показанную на скриншоте, т.е. отображение поля credentials не должно сохраняться. Если пользователь нажал кнопку Toggle Credentials
, чтобы показать поле credentials, затем вернулся на другие страницы и снова зашел на эту же страницу, то он должен снова нажать кнопку, чтобы увидеть поле credentials.
Также обратите внимание, что я не буду использовать это в UI или Frontend, поэтому мне нужно, чтобы функциональность работала только в Django Admin.
Как я могу выполнить это требование? Любая помощь будет оценена по достоинству. Спасибо.
Также я не очень хорошо разбираюсь в Django, поэтому если кто-то найдет какую-либо ошибку в моем коде, пожалуйста, дайте мне знать.