Python Django管理面板界面
创建管理界面来编辑某些字段,这是最佳做法?自定义默认Django管理员还是创建管理员模板 我想通过管理员编辑Python Django管理面板界面,python,django,Python,Django,创建管理界面来编辑某些字段,这是最佳做法?自定义默认Django管理员还是创建管理员模板 我想通过管理员编辑状态字段。但其他字段,管理员无法编辑。。在这个场景中,我可以为管理员编写新的视图和模板,还是只自定义默认的管理员面板 class SendProduct(models.Model): PAYMENT_CHOICE = ( ('A', 'Advanced'), ('C', 'COD'), ) item_name = models.Cha
状态
字段。但其他字段,管理员无法编辑。。在这个场景中,我可以为管理员编写新的视图和模板,还是只自定义默认的管理员面板
class SendProduct(models.Model):
PAYMENT_CHOICE = (
('A', 'Advanced'),
('C', 'COD'),
)
item_name = models.CharField(max_length=200)
item_details = models.TextField()
delivery_address = models.TextField()
payment_type = models.CharField(max_length=1, choices=PAYMENT_CHOICE)
payable_amount = models.IntegerField(default=0)
delivery_charge = models.IntegerField(default=0)
qr_code = models.ImageField(upload_to='qrcode', blank=True, null=True)
user = models.ForeignKey(Profile, on_delete=models.CASCADE)
status = models.IntegerField(default=0)
管理面板的使用与您开发的视图之间存在差异,您应该注意的差异是管理面板面向
员工用户
,即公司和组织内部的用户,并向最终用户提供内容
那么,谁将使用该表格?在这个基础上做出决定,您想做的事情可以在管理面板和开发视图中完成。排除字段并使其只读(
admin.py
)。下面给出了一个例子
class SendProductAdmin(admin.ModelAdmin):
exclude=("item_name ",)
readonly_fields=('item_name', )
admin.site.register(SendProductAdmin)
请注意,您可以根据需要排除尽可能多的字段 如何构建您想要适应的模型?如果你需要有效的帮助,你应该添加它。我已经添加了我的模型。我想通过管理员编辑状态。但其他字段,管理员无法编辑。。在这种情况下,我可以为管理员编写新的视图和模板,还是只自定义默认的管理员面板?您需要为某些用户限制管理员面板?所以他们只能编辑一些字段?你不能用普通的方法来做,这是一种很棘手的方法,定义一个新的模型类作为你当前类的代理,并对它进行限制,这样就可以访问它而不是你的主模型,或者你可以在你当前的管理员中设置字段,但是在这种情况下,任何人都不能编辑额外的字段