【发布时间】:2015-10-07 14:01:49
【问题描述】:
我想在 django admin 中创建一个自定义视图,以反映另一个模型的更改表单。我已经创建了一个自定义模型管理类,不知道从哪里开始。我找不到任何关于如何创建自定义管理视图的 Django 1.8 好的示例。
Django 版本:1.8
class CustomerProductOrderAdmin(admin.ModelAdmin):
review_template = 'admin/onlineordering/order_template.html'
def get_urls(self):
urls = super(CustomerProductOrderAdmin, self).get_urls()
my_urls = patterns('',
(r'\d+/customer_template/$', self.admin_site.admin_view(self.customer_template)),
)
return my_urls + urls
def customer_template(self, request, id):
product_orders = CustomerProductOrder.objects.get(pk=id)
return render_to_response(self.review_template, {
'quantity': 'Quantity: %s' % product_orders.quantity,
}, context_instance=RequestContext(request))
我有一个属于该用户表的客户表。
class Customer(models.Model):
customer = models.ForeignKey(settings.AUTH_USER_MODEL, limit_choices_to={'groups__name': "customers"})
/app/model/1 #pk = customer.id
自定义表单将具有此 URL
/app/customform/
当登录的用户转到 /app/customform 时,他们不应该看到来自 /app/model/1 的更改表单。他们不应该看到其他用户更改表单。另外,我想限制对自定义表单的访问,仅限于特定的用户组。即这个组看不到 /app/model/ 但可以看到 /app/customform。
【问题讨论】:
标签: django-admin