[英]How to register a Custom Form with Django Admin
In admin_forms.py I've written the following code: 在admin_forms.py中,我编写了以下代码:
class AdminForm(forms.Form):
category = forms.ModelChoiceField(queryset=Category.objects.all())
question = forms.CharField(widget=forms.Textarea)
q_active = forms.BooleanField(initial=True)
option = forms.CharField()
option_active = forms.BooleanField(initial=True)
I want it get registered with Django Admin, so in my admin.py , I've written 我想让它在Django Admin中注册,所以在我的admin.py中 ,我写了
from api.admin_forms import AdminForm
class EntryAdmin(admin.ModelAdmin):
add_form = AdminForm
fieldsets = (
('Category', {
'fields': 'category'}),
('Question', {'fields': ('question', 'q_active')}),
('Answer Option', {'fields': ('option', 'option_active')}),
('Selected Answer', {'fields': ('user_role', 'answer')}),
)
admin.site.register(EntryAdmin)
Definitely, this is not how we can make it work. 当然,这不是我们如何使其发挥作用。 help please!
请帮助!
You should set form
instead of add_form
. 您应该设置
form
而不是add_form
。
class EntryAdmin(admin.ModelAdmin):
form = AdminForm
...
When you register your model admin, you must provide the model as the first argument: 注册模型管理员时,必须提供模型作为第一个参数:
admin.site.register(Entry, EntryAdmin)
ModelAdmin
does not have an attribute add_form
, so setting it has no effect. ModelAdmin
没有属性add_form
,因此设置它没有任何效果。 The UserAdmin
has an add_form
attribute, which is used when adding new users. UserAdmin
具有add_form
属性,在添加新用户时使用该属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.