【发布时间】:2020-06-30 16:35:48
【问题描述】:
我正在尝试在 django 上使用动态数据的滑块,该滑块应该像在 tinder 中一样滑动抛出用户。滑块有 2 个按钮,一个将用户重定向到以前看到的配置文件,另一个将用户重定向到下一个配置文件,我还需要加载页面而不重新加载它。我对 javascript 很陌生,所以我真的不知道 js 代码最终会如何,我怎样才能使它工作?请这个很重要
html
<div class="mates-grid-1-1-content">
<div class="mates-grid-2-content">
<button type="submit" id="prev-button">prev</button>
</div>
<div class="mates-grid-1-content">
<div class="mates-item-content">
<img class="mate-pic" src="{{ user.profile.profile_pic.url }}" >
</div>
<div class="mates-item-content">
<a href="{% url 'profile' username=content.user.username %}" style="float: left">{{ content.user }}</a>
</div>
<div class="mates-item-content">
<div class="responses">
<div class="response-item-img">
<img class="mates-image" src="{{ content.req_image.url }}" width="400px">
</div>
<div class="response-item-bio">
<p>{{ content.req_bio }}</p>
</div>
<div class="response-item-button">
<button type="submit">Submit</button>
</div>
</div>
</div>
</div>
<div class="mates-grid-3-content">
<button type="submit" id="next-button">next</button>
</div>
</div>
models.py
class Mates(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='usermates')
users_requests = models.ManyToManyField(User, related_name="users_requests")
req_bio = models.CharField(max_length=400)
req_image = models.ImageField(upload_to='requestmates_pics', null=True, blank=True, default=False)
views.py
def matesmain(request):
contents = Mates.objects.all()
context = {
'contents': contents,
'form_mates': MatesForm(),
}
print("nice")
return render(request, 'mates.html', context)
css
.mates-grid-1-1-content {
display: grid;
text-align: center;
justify-content: center;
align-self: center;
grid-column: 1;
grid-row: 2;
grid-template-columns: 15% 70% 15%;
grid-auto-rows: 1fr;
height: 100%;
grid-auto-flow: column;
}
.mates-grid-2-content {
grid-column:1;
justify-content: center;
align-self: center;
}
.mates-grid-3-content {
grid-column:3;
justify-content: center;
align-self: center;
}
.mates-grid-1-content {
display: grid;
text-align: center;
justify-content: center;
align-self: center;
grid-column: 2;
grid-template-columns: 70px 28% 28%;
grid-template-rows: .1fr 5fr;
height: 95%;
grid-auto-flow: row;
}
【问题讨论】:
-
有很多选项取决于你到底想要做什么,你应该解释更多。您希望数据是随机的吗?你想通过按钮点击滑动吗?你想在不重新加载页面的情况下加载吗?所以我们可以帮助你了解你应该学习什么。
-
@mattarello 抱歉,让我解释一下;)
-
@mattarello 我刚刚更新了,你现在可以检查一下吗?
-
好吧,首先要在不刷新页面的情况下加载内容,您必须使用 ajax,如果您知道 jquery,这非常简单。如果您不知道 jquery 是您可以在 youtube 上轻松学习的 javascript 的简化版本,那么不需要太多,所以不要害怕。一旦你解决了 ajax 方面(从数据库中获取信息而不重新处理),你将需要能够清理用户容器,比如“container.empty”,并在函数中附加上一个和下一个按钮以及你想要的用户 ID要得到。如果我是你,我会先花几个小时学习 jquery。
-
@mattarello 你能帮我解答吗?
标签: javascript html jquery css django