Flask Admin /создание интерфейса администратора поверх существующих моделей данных

Поделиться
HTML-код
  • Опубликовано: 18 ноя 2024

Комментарии • 39

  • @felixcriminibusnulluseritd7315
    @felixcriminibusnulluseritd7315 2 года назад +5

    Только начал смотреть 2я минута, уже вижу годный контент, большой респект автору, активного роста каналу.

  • @useruser-bx9zf
    @useruser-bx9zf Год назад +1

    Подскажите, почему могут не отображаться поля ForeignKey (связи не отображаются)? Склонировал ваш проект с guthub запустил и тоже отсутствуют связанные поля (При использовании самых последних версий библиотек)

    • @PythonDevelopment
      @PythonDevelopment  Год назад

      Я сейчас склонировал запустил работает. А где именно не работает? Я использовал заблокированный в req.txt библиотеки

  • @mkdubrava
    @mkdubrava Год назад +1

    Здравствуйте. В каком ролике рассказываете про модели и отношения

    • @PythonDevelopment
      @PythonDevelopment  Год назад +1

      Добрый день. Посмотрите плейлист Flask blog

  • @mrkololo9869
    @mrkololo9869 2 года назад +3

    Из-за чего может не добавляться строка в админку(заметил, что не добавляются строки со связью) и что с этим делать, был бы весьма благодарен за ответ.

    • @PythonDevelopment
      @PythonDevelopment  2 года назад +2

      Привет. Всмысле строка? Приведи пример, можно кусок кода

    • @mrkololo9869
      @mrkololo9869 2 года назад +2

      @@PythonDevelopment есть условная модель Users, в корой есть параметр TypeId, связанный с подобным параметром в другой модели("модели" можно заменить на "таблица" в бд), и именно этот параметр(строка в таблице) не показывается в админ панеле.

    • @PythonDevelopment
      @PythonDevelopment  2 года назад +2

      @@mrkololo9869 а в колонках указана нужная колонка? Ну например, нужно показать колонку user_id в админке, и нужно ее прописать в правилах View чтобы ее показывало
      column_list =['id', 'author', Post.title, 'image_post', 'tags', Post.user_id]
      Прописав колонку, вы получите ее в админке.
      Почему Post.iser_id?
      Я во вьюхе поста обращаюсь к модели Post

    • @PythonDevelopment
      @PythonDevelopment  2 года назад +2

      @@mrkololo9869 добавлю, что column_list = [] относится к методам View Flask admin
      В этом видео я подробно рассматриваю почти всё что касается создания пользовательских вьюх ruclips.net/video/Xj5B6Lhw84Y/видео.html

  • @romans6074
    @romans6074 Год назад +2

    Здравствуйте, скажите пожалуйста как сделать админ панель доступной только для админа?

    • @PythonDevelopment
      @PythonDevelopment  Год назад +1

      Создать в модели метод типа is_admin и проверять его. Если у пользователя is_admin True то показывать. По умолчанию в модели User is_admin=False

    • @romans6074
      @romans6074 Год назад +1

      @@PythonDevelopment Спасибо большое , а как тогда давать кому то админку ,как наследовать ее кому то?

    • @PythonDevelopment
      @PythonDevelopment  Год назад

      @@romans6074 ты можешь просто менять права пользователю. Уточни что нужно именно? Зачем ее выдавать? А если и давать кому-то доступ в админку, то надо создать в модели пользователя поле и менять его булев тип.
      can_view() является методом в Flask-Admin, который используется для контроля доступа к представлению элемента. Он возвращает True или False, в зависимости от роли пользователя.
      Например, если у пользователя есть роль "редактор", вы можете использовать этот метод для контроля доступа к представлению элемента в административной панели:
      from flask_admin.contrib.sqla import ModelView
      class MyModelView(ModelView):
      def is_accessible(self):
      return current_user.has_role("editor")
      def can_view(self):
      return current_user.has_role("editor")
      В данном примере, если пользователь имеет роль "редактор", он сможет просматривать элементы в административной панели.
      class UserView(ModelView):
      def is_accessible(self):
      return current_user.is_authenticated and current_user.role == "editor"
      Если пользователь авторизован и его роль редактор то is_accessible будет True
      Мы же помним как работает and и что возвращается если оба проверяемых True
      Если выдать пользователю данные права происходит проверка и он автоматом попадает в админку. Иначе flash("Извините, у вас нет доступа к данной странице", "danger")
      Все пользователи изначально регистрируются с равными правами кроме администратора. А админ уже сам решит кому какую роль выдать

    • @romans6074
      @romans6074 Год назад

      @@PythonDevelopment Спасибо,вообщем мне нужно выдавать админку для того чтобы админ панель была доступна только для админов,чтобы если ты не админ тебя не пускало туда, нужно вот эту проверку сделать

    • @PythonDevelopment
      @PythonDevelopment  Год назад

      @@romans6074 если пользователь не имеет права то нечего там делать.. Простая проверка с помощью булева типа.

  • @itclinic74
    @itclinic74 2 года назад +5

    Привет! Сделай видео как привязать кнопки для загрузки файлов из админки и сохранять их в базе данных

    • @PythonDevelopment
      @PythonDevelopment  2 года назад +3

      Привет, хорошее предложение. Хотел как раз по теме flask-admin пройтись, в том числе русификации админки, загрузки файлов и так далее. Думаю стоит приготовить пару роликов на эту тему. Спасибо за активность и всего доброго =)

    • @itclinic74
      @itclinic74 2 года назад +2

      @@PythonDevelopment Буду ждать! Инфы мало по админке, в основном одна и та же инфа. Сейчас работаю над проектом и дошёл до админки. Вроде все понятно, а вот с загрузкой файлов какой-то трабл. Завтра буду снова пытаться. Если будут вопросы по теме - пиши! Думаю тоже канал по python запустить

    • @PythonDevelopment
      @PythonDevelopment  2 года назад +2

      @@itclinic74 обязательно запусти. Нужно больше разнообразия. Начни с простого. Я создал загрузчик из админки, к след выходным выпущу ролик. На неделе буду готовить проект

    • @PythonDevelopment
      @PythonDevelopment  2 года назад +2

      @@itclinic74 Кстати, если будут какие-то замечания по коду, милости просим. Всегда хочется сделать лучше.

  • @ДанилКрабов-и9ж
    @ДанилКрабов-и9ж 11 месяцев назад +1

    Здравствуйте. Разработает простой сайт с регистрацией авторизацией на заказ?

    • @PythonDevelopment
      @PythonDevelopment  11 месяцев назад +1

      Привет, напишите в соцсетях в личку что нужно, какое тз и так далее.
      ✈️ Telegram: @MikesoWeb