Commit 3cc76f1a authored by Serge S. Koval's avatar Serge S. Koval

More docs

parent 459410a3
...@@ -15,6 +15,7 @@ API ...@@ -15,6 +15,7 @@ API
mod_contrib_sqla mod_contrib_sqla
mod_contrib_mongoengine mod_contrib_mongoengine
mod_contrib_mongoengine_fields
mod_contrib_peewee mod_contrib_peewee
mod_contrib_pymongo mod_contrib_pymongo
mod_contrib_fileadmin mod_contrib_fileadmin
......
``flask.ext.admin.contrib.mongoengine.fields``
==============================================
.. automodule:: flask.ext.admin.contrib.mongoengine.fields
.. autoclass:: ModelFormField
:members:
.. autoclass:: MongoFileField
:members:
.. autoclass:: MongoImageField
:members:
...@@ -4,14 +4,25 @@ Usage Tips ...@@ -4,14 +4,25 @@ Usage Tips
General tips General tips
------------ ------------
1. Use class inheritance. If your models share common functionality, 1. Whenever your administrative views share common functionality such as authentication,
create base class which will be responsible for this functionality. form validation, make use of read-only views and so on - create your own base class which
inherits from proper Flask-Admin view class.
For example - permissions. Don't implement `is_accessible` in every administrative view. Create your own base class, For example, if you need to check user permissions for every call, don't implement
implement is_accessible there and use it instead. `is_accessible` in every administrative view. Create your own base class, implement
`is_accessible` there and use this class for all your views.
2. You can override templates either by using `ModelView` properties or 2. You can override used templates either by using `ModelView` properties (such as
putting customized version into your `templates/admin/` directory `list_template`, `create_template`, `edit_template`) or
putting customized version of the template into your `templates/admin/` directory
3. If you need to customize look and feel of model forms, there are two options:
- Override create/edit template
- Use new :mod:`flask.ext.admin.form.rules` form rendering rules
4. Flask-Admin has that manage file/image uploads and store result in model field. You can
find documentation here - :mod:`flask.ext.admin.form.upload`.
SQLAlchemy SQLAlchemy
...@@ -26,3 +37,9 @@ field. In this case, you need to manually contribute field:: ...@@ -26,3 +37,9 @@ field. In this case, you need to manually contribute field::
form_class = super(UserView, self).scaffold_form() form_class = super(UserView, self).scaffold_form()
form_class.extra = TextField('Extra') form_class.extra = TextField('Extra')
return form_class return form_class
MongoEngine
-----------
1. Flask-Admin supports GridFS backed image and file uploads. Done through
WTForms fields and documentation can be found here :mod:`flask.ext.admin.contrib.mongoengine.fields`.
...@@ -28,6 +28,9 @@ class ModelFormField(fields.FormField): ...@@ -28,6 +28,9 @@ class ModelFormField(fields.FormField):
class MongoFileField(fields.FileField): class MongoFileField(fields.FileField):
"""
GridFS file field.
"""
widget = widgets.MongoFileInput() widget = widgets.MongoFileInput()
def __init__(self, label=None, validators=None, **kwargs): def __init__(self, label=None, validators=None, **kwargs):
...@@ -63,4 +66,8 @@ class MongoFileField(fields.FileField): ...@@ -63,4 +66,8 @@ class MongoFileField(fields.FileField):
class MongoImageField(MongoFileField): class MongoImageField(MongoFileField):
"""
GridFS image field.
"""
widget = widgets.MongoImageInput() widget = widgets.MongoImageInput()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment