Чтобы добавить кнопку вызова функции парсинга в админке Django, вам нужно выполнить следующие шаги:
- Создайте файл
admin.py
в вашем Django приложении, если его еще нет.
- Импортируйте необходимые модули и модели в файл
admin.py
. Например, если ваше Django приложение называетсяmyapp
, и у вас есть модельMyModel
, которую вы хотите парсить, импортируйте ее следующим образом:
from django.contrib import admin from .models import MyModel
- Объявите класс
MyModelAdmin
, наследующий отadmin.ModelAdmin
. В этом классе вы определите дополнительные методы для добавления кнопки и обработки вызова функции парсинга.
class MyModelAdmin(admin.ModelAdmin): def parse_button(self, request, queryset): # Ваш код для функции парсинга pass parse_button.short_description = "Парсинг" # Название кнопки # Регистрация модели с классом администратора admin.site.register(MyModel, MyModelAdmin)
- Чтобы добавить кнопку в админке, используйте атрибут
actions
классаMyModelAdmin
. Присвойте этому атрибуту значение tuple, содержащую имя методаparse_button
.
class MyModelAdmin(admin.ModelAdmin): # ... actions = ['parse_button']
Обратите внимание, что имя метода должно быть в квадратных скобках или в списке, если вы хотите добавить несколько кнопок.
- Если вы хотите, чтобы кнопка была доступна только для выбранных объектов в админке, переопределите атрибут
actions_on_top
илиactions_on_bottom
классаMyModelAdmin
наTrue
.
class MyModelAdmin(admin.ModelAdmin): # ... actions_on_top = True actions_on_bottom = False
- Перезапустите ваше Django приложение, чтобы изменения вступили в силу. Теперь вы должны увидеть кнопку "Парсинг" рядом с выбранными объектами в админке Django.
Когда вы выбираете один или несколько объектов и нажимаете кнопку "Парсинг", вызывается метод parse_button
. В этом методе вы можете написать свой код для парсинга данных, используя выбранные объекты.