Попытка передать продукты django-oscar в пользовательский шаблон - PullRequest
0 голосов
/ 14 декабря 2018

Я работаю над пользовательским шаблоном с использованием разветвленной версии приложений django-oscar (для создания пользовательских моделей).

Я пытаюсь отобразить список всех продуктов в таблице продуктов, простоначать с.Я посмотрел на шаблоны django-oscar, но так как они основаны на большом количестве пользовательских временных тегов, я обнаружил, что слишком сложно переписать все, чтобы работать с моими моделями.

Это то, что у меня есть в views.py:

def product(request):
    template = loader.get_template('/home/mysite/django_sites/my_site/main_page/templates/main_page/product.html')
    prodlist = Product.objects.all()
    return HttpResponse(template.render({}, request), context={'prodlist': prodlist})

И код, который я использую в своем шаблоне, чтобы попытаться отобразить его

{% for instance in prodlist%}
    <li>{{ instance.name }}</li>
{% endfor %}

Однако, это дает мне ошибку

TypeError at /product/ 
__init__() got an unexpected keyword argument 'context'

/ product соответствуетмой вид продукта в моем urls.py

Это был мой лучший выбор из следующих уроков и поиска других ответов.Что я не так делаю?

1 Ответ

0 голосов
/ 14 декабря 2018

HttpResponse не имеет context аргумент.Похоже, вам нужно добавить контекст в render.

Попробуйте:

context={'prodlist': prodlist}
return HttpResponse(template.render(context))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...