我想提供一个新的管理页面,管理员用户可以在其中更新某些模型。
到目前为止,我已经在管理部分下提供了自定义网址,并且在视图中验证了用户是否为超级用户,并返回了我的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 %}