Django视图没有将所有变量传递给模板,只有一些

时间:2014-02-19 04:41:58

标签: python html django

我很惊讶这一点,任何有关这个问题的亮点都会受到赞赏。

我有这样的观看代码:

@login_required
def product(request, prod_id):                                                                              
    prod = Product.objects.get(pk=prod_id)                                                    
    page_title = "Company Name - " + prod.item_name
    itm_name = Unescaped_HTML(prod.item_name)                                                            
    itm_num = prod.item_num                                                                          
    ret_price = prod.retail_price                                                                           
    front_img = prod.front_image                                                                         
    back_img = prod.back_image
    flap_img = prod.flap_image                                                                                        
    prd_type = prod.product_type[0].upper()
    tax_1 = prod.tax_ca                                                                                             
    tax_2 = prod.tax_co                                                                   
    pic1_img = prod.pic1_image                                                            
    pic2_img = prod.pic2_image                                                            
    pic3_img = prod.pic3_image                                                            
    pic4_img = prod.pic4_image                                                            
    urlpath = request.get_full_path()                                                     
    return render_to_response(                                                            
            "rgwebprodbase/productpage.html",                                             
            locals(),                                                                     
            context_instance = RequestContext(request)                                    
            )                                                                                       

模板代码的一小部分(在某些地方缩写):

<form id="cart_form" action="https://www.website.com/qs3/cart.php" method="POST" target="cartFrame" />
    <Select NAME="item-{{ itm_num }}|{{ ret_price }}|{{ itm_name }}|{{ prd_type }}|{{ tax_1 }},{{ tax_2 }}" VALUE="1">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="10">10</option>
    </select>
    <input name="store_type" type="hidden" value="html" />
    <input id="add_button" type="image" name="add_to_cart" src="{{ STATIC_URL }}images/cart/addtocart.jpg" alt="Add to Cart Button" />
    <input name="page" type="hidden" value="{{ urlpath }}" /> | 
        <a href="https://www.website.com/qs3/cart.php?view_cart=yes&amp;store_type=html&amp;page={{ urlpath }}">
            <img src="{{ STATIC_URL }}images/cart/viewcart.jpg" alt="View Cart button" />
        </a> |
    <img id="close_button" src="{{ STATIC_URL }}images/forms/closewindow.jpg" alt="Close Form button" />

无论我把变量放在什么顺序,或者我是否手动构建字典而不是使用locals()调用,只有一些值被传递到模板,因此正确呈现。具体来说,除了prd_type,tax_1,tax_2和urlpath之外,所有字段都会显示。我可以验证数据是否在数据库中被提取,我甚至可以在视图中将某些值硬编码为文字(如某个税字段的0.0725)。

值得注意的是,所有未显示的字段都是最近所做的更改。好像我的View代码被冻结......

有什么想法吗?我是否应该引起主持人的注意?

提前致谢!

标记

1 个答案:

答案 0 :(得分:0)

嗯,哎呀。今天的教训:确保正在编辑CORRECT视图功能。

我的错误是认为我正在处理此URL的视图代码,实际上,它是由不同的函数调用的。

修改正确的功能具有所需的效果。

谢谢大家......

感谢arocks我现在在我的武器库中有另一个工具:{%debug%}模板标签!