如何在Django管理站点中添加自定义上下文数据的新页面?

时间:2016-05-30 13:29:43

标签: django

我想提供一个新的管理页面,管理员用户可以在其中更新某些模型。

到目前为止,我已经在管理部分下提供了自定义网址,并且在视图中验证了用户是否为超级用户,并返回了我的html模板。

在返回模板时,我传递了一些带有上下文对象的数据,一个模型查询结果列表。所有页面和结构都正常加载,但是在模板中访问时,我通过上下文变量提供的数据是可用的。

以下是我的代码结构:

管理员网址:

admin/add-product-details

查看收听此电话:

@user_passes_test(lambda u: u.is_superuser)
def add_product_details(request):
    products = Product.objects.all()
    context = {
        products : products
    }
    return render_to_response('admin/add_product_details.html',context,context_instance = RequestContext(request))

Tempalte结构:

{% extends "admin/base.html" %}

{% block content_title %}
    <h3>
        <small>
            ADD PRODUCT DETAILS
        </small>
    </h3>
{% endblock %}

{% block content %}
    <div class="container">
        <div class="row">
            <hr>
            {{products}}
            <hr>
            <select>
                <option value="">Select Product</option>
                {% for product in products %}
                    <option value="{{product.id}}">
                        {{product.id}} - {{product.name}}
                    </option>
                {% endfor %}
            </select>
        </div>
    </div>
{% endblock %}

0 个答案:

没有答案