№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.

31. Дописали вьюху деталей, вывода одной страницы. Код дал и пояснил.

Все рассказал в уроке, здесь главное понять одну вещь, что во вьюхе мы прописываем метод для интеграции с jquery. Все абсолютно шаблонно.

if request.is_ajax():
        html = render_to_string('blog/comments.html', context)
        return JsonResponse({"form": html})

Перейти к уроку

32. Пишем MIDDLEWARE для метода is_ajax().

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'

Перейти к уроку

33. Сохранение понравившихся постов. Напишем функцию сохранения.

Это нужная функция, для каждого сайта. Представьте пользователь читает чьи то записи или если только Вы автор, в любом случае, если ему понравилась статья и ему хоетлсь бы поработать с ней, очень удобно, если он сможет сохранить её к себе в кабинет, а когда отработает потом удалить. Ваша запись конечно останется на месте, она удалится с личного пространства пользователя.

Этот действие можно так же делать с любым контентом видео. аудио и так далее.

Давайте напишем функцию сохранения постов.

Перейти к уроку

34. Напишем url и откроем нашу страницу, где будут сохраненные посты жить.

В этом уроке, мы увидим страницу, готовую принимать наши сохраненные посты, но это ещё не все, нужно будет далее написать само сохранение постов на странице detail и написать, что бы сохранение происходило без перезагрузки страницы. то есть через ajax. Но нам это уже все знакомо, даже уже скучно.

Перейти к уроку

35. Напишем функция сохранения постов через ajax -save_post_is_ajax(request).

Мы уже делали такое, но есть нечто новое для нас. давайте подробно разберём.

Нам нужно, что бы сохранение происходило без перезагрузки страницы, для этого нам и нужна эта функция.

Если ранее мы писали комментарии, там просто нужно добавить было функцию по которой мы писали middleware is_ajax() и просто вставили её в detail, здесь нужно ещё объяснить, когда сохранять. а когда не сохранять, поэтому проще написать отдельно.

Перейти к уроку

< 1 2 3 ... 5 6 7 8 9 >


Просмотр всех сообщений c тегом: views-django