Django-Oscar - Адресная книга не работает с адресом доставки
У меня проблема, о которой я упоминал в заголовке, и я пытался исправить ее все утро, я провел несколько тестов, чтобы выяснить, откуда берется ошибка, я выяснил, откуда она берется, но когда я перехожу к файлу, я не вижу никаких ошибок...
Как видите, пользователь вошел в систему, но он не может найти адрес для этого пользователя, так как я его уже зарегистрировал.
Смотрите код:
Часть кода views.py:
class ShippingAddressView(CheckoutSessionMixin, generic.FormView):
template_name = 'oscar/checkout/shipping_address.html'
form_class = ShippingAddressForm
success_url = reverse_lazy('checkout:shipping-method')
pre_conditions = ['check_basket_is_not_empty',
'check_basket_is_valid',
'check_user_email_is_captured']
skip_conditions = ['skip_unless_basket_requires_shipping']
def get_initial(self):
initial = self.checkout_session.new_shipping_address_fields()
if initial:
initial = initial.copy()
# Convert the primary key stored in the session into a Country
# instance
try:
initial['country'] = Country.objects.get(
iso_3166_1_a2=initial.pop('country_id'))
except Country.DoesNotExist:
# Hmm, the previously selected Country no longer exists. We
# ignore this.
pass
return initial
def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
if self.request.user.is_authenticated:
# Look up address book data
ctx['addresses'] = self.get_available_addresses()
return ctx
···
Что нужно сделать, чтобы когда у пользователя уже зарегистрирован адрес, он появлялся на этой вкладке и он только выбирал адрес?
После того как я вставил его в код, я попытался выяснить, откуда исходит ошибка... Я поставил тег <p> после условия аутентификации пользователя, чтобы посмотреть, входит ли он хотя бы в блок. Да, так и есть
Я сделал то же самое для условного адреса, и именно здесь кроется проблема, он не определяет адрес, хотя он уже зарегистрирован.
Я пошел проверить представления и не нашел никаких ошибок... по крайней мере, я их не вижу.