Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django管理面板界面_Python_Django - Fatal编程技术网

Python Django管理面板界面

Python Django管理面板界面,python,django,Python,Django,创建管理界面来编辑某些字段,这是最佳做法?自定义默认Django管理员还是创建管理员模板 我想通过管理员编辑状态字段。但其他字段,管理员无法编辑。。在这个场景中,我可以为管理员编写新的视图和模板,还是只自定义默认的管理员面板 class SendProduct(models.Model): PAYMENT_CHOICE = ( ('A', 'Advanced'), ('C', 'COD'), ) item_name = models.Cha

创建管理界面来编辑某些字段,这是最佳做法?自定义默认Django管理员还是创建管理员模板

我想通过管理员编辑
状态
字段。但其他字段,管理员无法编辑。。在这个场景中,我可以为管理员编写新的视图和模板,还是只自定义默认的管理员面板

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)

请注意,您可以根据需要排除尽可能多的字段

如何构建您想要适应的模型?如果你需要有效的帮助,你应该添加它。我已经添加了我的模型。我想通过管理员编辑状态。但其他字段,管理员无法编辑。。在这种情况下,我可以为管理员编写新的视图和模板,还是只自定义默认的管理员面板?您需要为某些用户限制管理员面板?所以他们只能编辑一些字段?你不能用普通的方法来做,这是一种很棘手的方法,定义一个新的模型类作为你当前类的代理,并对它进行限制,这样就可以访问它而不是你的主模型,或者你可以在你当前的管理员中设置字段,但是在这种情况下,任何人都不能编辑额外的字段