Перенаправление на страницу можно сделать с помощью django. Прокрутка до определенной части не может быть сделана только с django, однако, это может быть сделано с человеческим мозгом и django, давайте посмотрим, как работает прокрутка ..
*{
padding:0;
margin: 0;
box-sizing: border-box;
}
.container {
height: 2000px;
background-color: green;
}
.btn {
text-decoration: none;
color: black;
width: 100px;
padding: 20px;
background: yellow;
}
.post{
width: 400px;
height: 150px;
background-color: blue;
margin-bottom: 10px;
border: 1px solid white;
}
<a class="btn" href="#post_11">Go to post 11</a>
<div class="container">
<div class="post" id="post_1"></div>
<div class="post" id="post_2"></div>
<div class="post" id="post_3"></div>
<div class="post" id="post_4"></div>
<div class="post" id="post_5"></div>
<div class="post" id="post_6"></div>
<div class="post" id="post_7"></div>
<div class="post" id="post_8"></div>
<div class="post" id="post_9"></div>
<div class="post" id="post_10"></div>
<div class="post" id="post_11"></div>
<div class="post" id="post_12"></div>
</div>
Мы используем тег a
для прокрутки к указанному элементу c по его css id
, это означает, что вы хотите создать динамический c css id
за каждый пост. Лучше всего это сделать с помощью pk
. Скажем, это f"post_{post.pk}"
Таким образом, вы можете перенаправить пользователя на f
www.example.com/# {post.pk} `, и это перенаправит и прокрутит к этому указанному c сообщению.
Для перенаправлений используйте RedirectView
.
. Чтобы предотвратить обновления, см. ref