Специальная, подарочная акция получения доступа к Django4!
Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.
Все рассказал в уроке, здесь главное понять одну вещь, что во вьюхе мы прописываем метод для интеграции с jquery. Все абсолютно шаблонно.
if request.is_ajax(): html = render_to_string('blog/comments.html', context) return JsonResponse({"form": html})
MIDDLEWARE - находится в settings.py и выполняет роль промежуточного слоя и срабатывает до загрузки страницы, то есть уже при загрузке страницы, наш метод is_ajax(), точно будет работать и мы сможем взаимодествовать с js jquery, через JsonResponse(), которая будет получать и отдавать данные посредством json, но нам делать так же ничего не нужно все джанго сделает автоматом, создаст json, упакует, передаст от питон к js и получит. Приятно, что без бубнов.
пояснение. Ранее до джанго 4 был метод is_ajax(), но в джанго 4 его убрали, решили что пришло время писать на чистом js, все же я решил дерзнуть и написать свой MIDDLEWARE, для чего,
Ну во-первых Jquery недооценённая библиотека и очень хорошая, зачем чего то городить, если все можно написать пару строчками кода, ну а с другой стороны, ни кто ж не против, пишите на чистом js и будем писать далее, но все же решил, что хорошо. если у нас будет палочка-выручалочка. при помощи jquery и что если этого нет в джанго, то мы можем сами все поправить, кстати и здесь мы все писали на чистом js в самом MIDDLEWARE, как и требует джанго по новому, но решили все же сделать ещё одинр уровень защиты метод HTTP_X_REQUESTED_WITH не будет выполняться, если пользователь не авторизован, его мало кто использует или забыли, я в общем не в курсе почему.
def is_ajax(self): return request.META.get( 'HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
Это нужная функция, для каждого сайта. Представьте пользователь читает чьи то записи или если только Вы автор, в любом случае, если ему понравилась статья и ему хоетлсь бы поработать с ней, очень удобно, если он сможет сохранить её к себе в кабинет, а когда отработает потом удалить. Ваша запись конечно останется на месте, она удалится с личного пространства пользователя.
Этот действие можно так же делать с любым контентом видео. аудио и так далее.
Давайте напишем функцию сохранения постов.
В этом уроке, мы увидим страницу, готовую принимать наши сохраненные посты, но это ещё не все, нужно будет далее написать само сохранение постов на странице detail и написать, что бы сохранение происходило без перезагрузки страницы. то есть через ajax. Но нам это уже все знакомо, даже уже скучно.
Мы уже делали такое, но есть нечто новое для нас. давайте подробно разберём.
Нам нужно, что бы сохранение происходило без перезагрузки страницы, для этого нам и нужна эта функция.
Если ранее мы писали комментарии, там просто нужно добавить было функцию по которой мы писали middleware is_ajax() и просто вставили её в detail, здесь нужно ещё объяснить, когда сохранять. а когда не сохранять, поэтому проще написать отдельно.
< 1 2 3 ... 5 6 7 8 9 >
Просмотр всех сообщений c тегом: views-django