如何制作一个管理面板来查看 Django 中每个字段的条目?
How to make an admin panel to review the entries per field in Django?
我正在开发一个应用程序,用户可以在其中提交条目,并且每个提交的条目都由网站管理员审核。
- 每个条目都有很多字段,有些字段可以接受,有些字段可以拒绝。
- 为了在管理中添加此功能,我添加了一个自定义视图
'/review' url 的管理员。现在在这个视图中我想创建
接受或拒绝一个字段的功能,这样当表单是
已提交,我可以在此基础上采取进一步行动。
- 到现在我可以渲染模型了。
- 现在我想要像每个字段的复选框这样的东西来将字段标记为接受或拒绝,我可以根据它采取行动。一种方法是创建一个表单,然后手动为每个字段创建 BooleanField。
如何以 DRY 方式完成此操作?
如果我没听错,您的具体问题是关于为模型的所有字段构建一个带有复选框的表单。方法如下:
class ReviewForm(forms.Form):
def __init__(self, model, *args, **kwargs):
super(ReviewForm, self).__init__(self, *args, **kwargs)
for field in model._meta.get_fields():
self.fields[field.name] = forms.BooleanField(label=field.name, initial=True)
def triage_view(request, *args, **kwargs):
form = ReviewForm(Entry, data=request.POST or None)
# do stuff with that form, for example
accepted_field_names = [key for key, val in form.cleaned_data if val]
我正在开发一个应用程序,用户可以在其中提交条目,并且每个提交的条目都由网站管理员审核。
- 每个条目都有很多字段,有些字段可以接受,有些字段可以拒绝。
- 为了在管理中添加此功能,我添加了一个自定义视图 '/review' url 的管理员。现在在这个视图中我想创建 接受或拒绝一个字段的功能,这样当表单是 已提交,我可以在此基础上采取进一步行动。
- 到现在我可以渲染模型了。
- 现在我想要像每个字段的复选框这样的东西来将字段标记为接受或拒绝,我可以根据它采取行动。一种方法是创建一个表单,然后手动为每个字段创建 BooleanField。
如何以 DRY 方式完成此操作?
如果我没听错,您的具体问题是关于为模型的所有字段构建一个带有复选框的表单。方法如下:
class ReviewForm(forms.Form):
def __init__(self, model, *args, **kwargs):
super(ReviewForm, self).__init__(self, *args, **kwargs)
for field in model._meta.get_fields():
self.fields[field.name] = forms.BooleanField(label=field.name, initial=True)
def triage_view(request, *args, **kwargs):
form = ReviewForm(Entry, data=request.POST or None)
# do stuff with that form, for example
accepted_field_names = [key for key, val in form.cleaned_data if val]