kopia lustrzana https://github.com/wagtail/wagtail
Add ability to easily use Form Page fields in API
Improve documentation. Adding information about how to retrieve form fields from the API. Include the API fields on the form field modelpull/9517/head
rodzic
b91ed2cce4
commit
629b8e7a55
|
@ -137,6 +137,22 @@ This will make `published_date`, `body`, `feed_image` and a list of
|
|||
fields, you must select the `blog.BlogPage` type using the `?type`
|
||||
[parameter in the API itself](apiv2_custom_page_fields).
|
||||
|
||||
(form_page_fields_api_field)=
|
||||
|
||||
### Adding form fields to the API
|
||||
|
||||
If you have a FormBuilder page called `FormPage` this is an example of how you would expose the form fields to the API:
|
||||
|
||||
```python
|
||||
from wagtail.api import APIField
|
||||
|
||||
class FormPage(AbstractEmailForm):
|
||||
#...
|
||||
api_fields = [
|
||||
APIField('form_fields'),
|
||||
]
|
||||
```
|
||||
|
||||
### Custom serializers
|
||||
|
||||
[Serializers](https://www.django-rest-framework.org/api-guide/fields/) are used to convert the database representation of a model into
|
||||
|
|
|
@ -11,6 +11,7 @@ from django.utils.translation import gettext_lazy as _
|
|||
|
||||
from wagtail.admin.mail import send_mail
|
||||
from wagtail.admin.panels import FieldPanel
|
||||
from wagtail.api import APIField
|
||||
from wagtail.contrib.forms.utils import get_field_clean_name
|
||||
from wagtail.models import Orderable, Page
|
||||
|
||||
|
@ -121,6 +122,16 @@ class AbstractFormField(Orderable):
|
|||
FieldPanel("default_value", classname="formbuilder-default"),
|
||||
]
|
||||
|
||||
api_fields = [
|
||||
APIField("clean_name"),
|
||||
APIField("label"),
|
||||
APIField("field_type"),
|
||||
APIField("help_text"),
|
||||
APIField("required"),
|
||||
APIField("choices"),
|
||||
APIField("default_value"),
|
||||
]
|
||||
|
||||
def get_field_clean_name(self):
|
||||
"""
|
||||
Prepare an ascii safe lower_snake_case variant of the field name to use as the field key.
|
||||
|
|
Ładowanie…
Reference in New Issue