python - 如何将此数据存储到 django 会话中
问题描述
所以我有这段代码将最喜欢的属性存储到数据库中,我怎样才能将属性存储到会话中而不是使用数据库
此视图的 json 数据来自一个 javascript,当单击(添加)按钮时,该 javascript 将数据发送到视图 views.py
def updateFavoritos(request):
response_json = request.body
inmuebleId = None
if response_json:
data = json.loads(request.body)
inmuebleId = data['id']
inmueble = Inmueble.objects.get(id=int(inmuebleId))
favorites, created = Favorito.objects.get_or_create(inmueble=inmueble)
print('respuesta')
favs = Favorito.objects.all()
contexto = {
'id':inmuebleId,
'favoritos':favs,
}
return render(request, 'favorites.html', contexto)
显示最喜欢的属性的 html 代码
{% for favorito in favoritos %}
<div class="col-lg-6 col-xl-4">
<div class="feat_property">
<div class="thumb">
<img class="img-whp" src="{{ favorito.inmueble.imagen.url }}" alt="fl1.jpg">
<div class="thmb_cntnt2">
<ul class="listing_gallery mb0">
<li class="list-inline-item"><a class="text-white" href="#"><span class="flaticon-photo-camera mr5"></span> 22</a></li>
<li class="list-inline-item"><a class="text-white" href="#"><span class="flaticon-play-button mr5"></span> 3</a></li>
</ul>
</div>
</div>
<div class="details">
<div class="tc_content">
<h4><a href="page-listing-single-v8.html">{{ favorito.inmueble.nombre }}</a></h4>
<p>251 SW 6th Ln Florida City, FL</p>
<ul class="prop_details mb0">
<li class="list-inline-item"><a href="#"><span class="flaticon-bed"></span> <br>4 Cuartos</a></li>
<li class="list-inline-item"><a href="#"><span class="flaticon-bath"></span> <br>5 Baños</a></li>
<li class="list-inline-item"><a href="#"><span class="flaticon-car"></span> <br>1 Garage</a></li>
<li class="list-inline-item"><a href="#"><span class="flaticon-ruler"></span> <br>1200 M2</a></li>
</ul>
</div>
<div class="fp_footer">
<ul class="fp_meta float-left mb0">
<li class="list-inline-item">
<a href="#">
<small><del class="body-color">$2,800/mo</del></small><br>
<span class="heading-color fw600">$2,300/mo</span>
</a>
</li>
</ul>
<ul class="fp_meta float-right mb0">
<li class="list-inline-item"><a class="icon" href="#"><span class="flaticon-resize"></span></a></li>
<li class="list-inline-item"><a class="icon" href="#"><span class="flaticon-add"></span></a></li>
<li class="list-inline-item">
<a href="{% url 'eliminar' favorito.id %}"><button class="btn btn-outline-danger">Borrar</button></a>
</li>
</ul>
</div>
</div>
</div>
</div>
{% endfor %}
解决方案
这是您可以使用 Django 视图在会话中设置变量的方法:
视图.py
def page_1(request):
favs = Favorito.objects.all()
request.session['favs'] = favs
def page_2(request):
favs = request.session.get('favs')
# Use favs here as you want
推荐阅读
- roku - Roku RAF 在连续播放视频时抛出错误
- aws-lambda - 如何在代码构建管道中与 dynamodb 容器一起运行 sam local invoke?
- php - 如何翻译 Voyager 页面块
- azure - Azure 管道未运行
- flutter - 为什么当我在 Flutter 中明确设置应将 Snackbar 显示为 false 的条件时,Snackbar 会在下面的代码中重新显示?
- reactjs - 获取数据后反应不渲染数组
- mysql - mysql 恢复命令和授予权限
- networking - 如何在 GNS3 中将 FastEthernet 端口添加到以太网交换机?
- windows - MSVC 中的自定义构建步骤和自定义构建工具
- r - 在 R 中使用 lubridate make_datetime 后未知的日期列类