【发布时间】:2018-06-08 00:19:29
【问题描述】:
我有一个关于汽车的详细视图和预订 href 到预订表格的 btn。我想通过那辆显示细节的汽车。而不是我总是从外键下拉汽车选择中选择。
【问题讨论】:
标签: python django django-class-based-views
我有一个关于汽车的详细视图和预订 href 到预订表格的 btn。我想通过那辆显示细节的汽车。而不是我总是从外键下拉汽车选择中选择。
【问题讨论】:
标签: python django django-class-based-views
在汽车详细视图中放置:
<a href="{% url 'car_booking' %}?car={{ car.id }}">Booking Now</a>
那么鉴于汽车预订:
class BookingView(FormView):
template_name = 'car/booking.html'
form_class = BookingForm
def get_context_data(self, **kwargs):
# kwargs['car'] is the car booking now!
try:
kwargs['car'] = Car.objects.get(id=self.request.GET.get('car', ''))
except (Car.DoesNotExist, ValueError):
kwargs['car'] = None
return super(BookingView, self).get_context_data(**kwargs)
# if you still want to keep select car in form,and auto select this car do as:
def get_initial(self):
initial = super(BookingView, self).get_initial()
if 'car' in self.request.GET:
try:
initial['book_car'] = Car.objects.get(id=self.request.GET['car'])
except (Car.DoesNotExist, ValueError):
pass
return initial
网址可能喜欢:
path('booking/', BookingView.as_view(), name='car_booking'),
【讨论】: