[英]User bookings not appearing when logged in
又是我。
当用户登录时,我似乎仍然无法让我的用户预订出现。我知道这可能是超级基本的东西,但我只是没有看到它。 这是我到目前为止编写的代码。 我觉得这方面的新视角可能会有所帮助,因为我已经盯着它看了好几天了。
提前感谢您提供的任何帮助。
HTML:
{% extends "base.html" %}
{% block content %}
<section id="booking" class="book_a_table">
<div class="booking_container">
<h2>My Bookings:</h2>
<p>To edit or cancel a booking please click on the buttons below.</p>
<div class="row">
<div class="col-md-3 mt-5 offset-md-3">
{% for booking in bookings %}
<div class="col-md-4">
<div class="card mb-4">
<div class="card-body">
<h4 class='card-title text-uppercase text-center'>{{ booking.date }} at
{{ booking.time }}</h4>
<h6 class="text-uppercase">{{ booking.name }}</h6>
<div class='card-text'>
<p><i class="fas fa-phone"></i> {{ booking.phone }}</p>
<p><i class="far fa-envelope"></i> {{ booking.email }}</p>
<p>Number of People: {{ booking.number_of_people }}</p>
{%endfor%}
</div>
</div>
</div>
</section>
查看.py:
class ListBookingView(generic.ListView):
"""
This is the view that will bring up the
list of bookings for a particular users
so that they can be edited or deleted
"""
model = Booking
template_name = 'my_bookings.html'
def get(self, request, *args, **kwargs):
if request.user.is_authenticated:
booking = Booking.objects.filter(user=request.user)
my_bookings = filter(self, booking)
return render(request, 'my_bookings.html', {
'my_bookings': my_bookings
}
)
else:
return redirect('account_login')
删除python filter
功能:
my_bookings = filter(self, booking)
为什么my_bookings = filter(self, booking)
是必需的?
booking = Booking.objects.filter(user=request.user)
是过滤当前用户预订的查询。 更改您的代码,如下所示
def get(self, request, *args, **kwargs):
if request.user.is_authenticated:
bookings = Booking.objects.filter(user=request.user)
return render(request, 'my_bookings.html', {
'bookings': bookings })
return redirect('account_login')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.