Django ограничение перетаскивания в зависимости от условий базы данных - PullRequest
1 голос
/ 21 февраля 2020

надеюсь, я смогу это прояснить: у меня есть javascript код, который позволяет перетаскивать функции моего сайта. Мне нужно, чтобы удаление было разрешено, только если некоторые объекты из моей базы данных не все готовы на div. Для этого мне нужно запросить БД. Но, к сожалению, мы не можем запросить django БД, используя язык шаблонов, поэтому я не уверен, как это сделать.

Специфика c вариант использования: у меня есть объекты курса и реализация ie предварительного запроса *, которая показывает какие курсы предварительно ie для других курсов. Я хочу, чтобы можно было отказаться от курса в планировщике, только если все необходимые условия уже есть в планировщике. Поэтому мне нужно запросить предварительные требования к курсам, чтобы узнать, есть ли уже в планировщике. мне нужно использовать что-то вроде AJAX для этого? Когда я впервые начал с django, я думал, что смогу использовать для этого теги шаблонов, но они, похоже, плохо работают с запросами или с javascript

1 Ответ

0 голосов
/ 21 февраля 2020

Существует причина, по которой Django не нравится разрешать запросы к базе данных в шаблонах. Разделение кода logi c и кода пользовательского интерфейса очень разумно.

Вам нужно сделать запрос к базе данных до загрузки шаблона и затем передать данные в шаблон в переменной. Таким образом, шаблон может строить себя на основе данных и может разрешать или запрещать перетаскивание на основе этого (вы можете использовать jquery для динамического c, разрешающего / запрещающего, включающего или отключающего элементы на основе записей формы).

Редактировать (перенесено из комментария)

Вы также можете создать REST API и запросить его с помощью ajax, а затем реструктурировать свою веб-страницу на основе результата. Или вы можете создать пользовательский фильтр внутри Django и использовать его для попадания в базу данных. У вас могут быть проблемы с пользовательским фильтром, так как шаблоны Django предназначены для генерации на стороне сервера, и попытка динамического обновления сайта с их помощью, вероятно, будет довольно болезненной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...