我没有任何建议,django.contrib.admin
因为我不使用它。我的客户更喜欢他们网站的几乎类似于 CMS 的内联更新(两个“版本”让他们感到困惑),我更喜欢额外的控制。
那么,在这种情况下,您曾经使用过django.forms吗?Django 表单将为您提供一种根据您的需要接受和验证输入的简单方法。您可以使用自己的自定义字段扩展表单,并自定义它们的验证。ValidationError
因此,例如,如果输入的字符串包含您想要省略的字符,您可以将字段添加到引发 a 的表单中。Django 有很多有用的输入字段,包括EmailField
.
下一个真正的大技巧是django.forms.ModelForm。这提供了一种非常简单的方法来快捷地编写自定义表单,然后将其插入到正确的对象中,然后将其保存到数据库中。它为你做。所有的。从字面上看,你这样做:
fItem = ItemForm(request.POST)
# or
# I = Item.objects.get(id=?)
# fItem = ItemForm(request.POST, instance=I)
if f.is_valid():
fItem.save()
从此并使用表单,您可以非常轻松地自己创建 CRUD 操作。
接下来要实现的是用户、组和权限。没有什么可以阻止您为此使用提供的身份验证内容并提供您自己的 UI。您也不必使用实际的管理站点;两者没有捆绑在一起。
我个人推出了我倾向于使用的自己的产品,因为在我的一项工作中,客户对身份验证和授权有特定的要求。不过我不推荐它——只使用那里的东西。特别是因为现在有身份验证后端,例如Django-SocialAuth。