2012-07-27 75 views
0

我正在閱讀「開始Django電子商務」一書,我試圖在所有頁面上顯示「去購物車」鏈接。'str'對象沒有屬性'會話'

我得到這個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 %} 
+0

你調用'session'的唯一對象是請求,在def menu_hour的第一行。這表明請求是一個字符串。你在哪裏調用這個函數? – Lenna 2012-07-27 04:00:18

+0

但我通過「請求」時,我打電話給render_to_response,應該發送請求到我的html頁面。沒有? – anc1revv 2012-07-27 04:14:35

+0

從哪裏調用menu_hour視圖?你是手動調用還是從urls.py調用? – Babu 2012-07-27 04:52:04

回答

1

這是因爲我沒有在我的字典裏傳遞「請求」的模板。

相關問題