「Django ecommerce 入門」の本を読んでいますが、すべてのページに「カートに入れる」リンクを表示しようとしています。
私はこれerror: 'str' object has no attribute 'session'
と行を取得します
"{% cart_box request%}"
HTML の がこのエラーで強調表示されます。
これはHTMLです
{% load catalog_tags %}
<div class="cart_box">
{% cart_box request %}
</div>
{% if hour == 7 or hour == 9 or hour == 12 %}
Order time = {{hour}}
これがビューです。
def menu_hour(request,hour):
#set the test cookie
request.session.set_test_cookie()
hour = int(hour)
food = Food.objects.all()
output = ', '.join([f.name for f in food])
steak = Food.objects.get(name="Steak and Egg Burrito")
steak.price = 15
steak.save()
queso = Food.objects.get(name="Queso Burrito")
queso.time = hour
food_dict = {"steak": steak, "queso": queso, "hour":hour}
return render_to_response('menu_hour.html', food_dict, context_instance=RequestContext(request))
これはカタログタグです
from django import template
from cart import cart
register = template.Library()
@register.inclusion_tag("tags/cart_box.html")
def cart_box(request):
cart_item_count = cart.cart_distinct_item_count(request)
return {'cart_item_count': cart_item_count }
これはカタログタグの HTML です
{% with cart_item_count as cart_count %}
<a href="{% url show_cart %}">
Shopping Cart
<br />
{{ cart_count }} Item{{ cart_count|pluralize }}
</a>
{% endwith %}