Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
flask-admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
flask-admin
Commits
971bea12
Commit
971bea12
authored
Apr 24, 2012
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Documentation changes
parent
04879b2e
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
70 additions
and
69 deletions
+70
-69
MANIFEST.in
MANIFEST.in
+3
-3
README.rst
README.rst
+6
-5
babel.bat
babel/babel.bat
+1
-1
babel.sh
babel/babel.sh
+1
-1
index.rst
doc/index.rst
+3
-3
mod_base.rst
doc/mod_base.rst
+3
-3
mod_ext_fileadmin.rst
doc/mod_ext_fileadmin.rst
+3
-3
mod_ext_sqlamodel.rst
doc/mod_ext_sqlamodel.rst
+4
-4
mod_form.rst
doc/mod_form.rst
+3
-3
mod_model.rst
doc/mod_model.rst
+3
-3
mod_tools.rst
doc/mod_tools.rst
+3
-3
model_guidelines.rst
doc/model_guidelines.rst
+18
-18
quickstart.rst
doc/quickstart.rst
+18
-18
setup.cfg
setup.cfg
+1
-1
No files found.
MANIFEST.in
View file @
971bea12
include LICENSE
recursive-include flask_admin
ex
/static *
recursive-include flask_admin
ex
/templates *
recursive-include flask_admin
ex
/translations *
recursive-include flask_admin/static *
recursive-include flask_admin/templates *
recursive-include flask_admin/translations *
README.rst
View file @
971bea12
Flask-Admin
Ex
===========
==
Flask-Admin
===========
Contributors
------------
...
...
@@ -11,7 +11,7 @@ Introduction
This is library for building adminstrative interface on top of Flask framework.
Instead of providing simple scaffolding for the SQLAlchemy models, Flask-Admin
Ex
Instead of providing simple scaffolding for the SQLAlchemy models, Flask-Admin
provides tools that can be used to build adminstrative interface of any complexity,
using consistent look and feel.
...
...
@@ -24,16 +24,17 @@ Small example (Flask initialization omitted)::
admin.add_view(GalleryManager(name='Photos', category='Cats'))
admin.setup_app(app)
If you're looking for 0.x version of the Flask-Admin written by Andy Wilson, check `here <https://github.com/wilsaj/flask-admin>`_
Documentation
-------------
Flask-Admin
Ex is extensively documented, you can find documentation `here <http://readthedocs.org/docs/flask-adminex
>`_.
Flask-Admin
is extensively documented, you can find documentation `here <http://readthedocs.org/docs/flask-admin
>`_.
3rd Party Stuff
---------------
Flask-Admin
Ex
is built with help of `Twitter Bootstrap <http://twitter.github.com/bootstrap/>`_ and `Chosen <http://harvesthq.github.com/chosen/>`_.
Flask-Admin is built with help of `Twitter Bootstrap <http://twitter.github.com/bootstrap/>`_ and `Chosen <http://harvesthq.github.com/chosen/>`_.
Kudos
-----
...
...
babel/babel.bat
View file @
971bea12
pybabel extract -F babel.ini -k _gettext -k _ngettext -k lazy_gettext -o admin.pot --project Flask-Admin
Ex ..\flask_adminex
pybabel extract -F babel.ini -k _gettext -k _ngettext -k lazy_gettext -o admin.pot --project Flask-Admin
..\flask_admin
babel/babel.sh
View file @
971bea12
#!/bin/sh
pybabel extract
-F
babel.ini
-k
_gettext
-k
_ngettext
-k
lazy_gettext
-o
admin.pot
--project
Flask-Admin
Ex ../flask_adminex
pybabel extract
-F
babel.ini
-k
_gettext
-k
_ngettext
-k
lazy_gettext
-o
admin.pot
--project
Flask-Admin
../flask_admin
doc/index.rst
View file @
971bea12
Flask-Admin
Ex
===========
==
Flask-Admin
===========
Flask-Admin
Ex
is simple and extensible administrative interface framework for `Flask <http://flask.pocoo.org/>`_.
Flask-Admin is simple and extensible administrative interface framework for `Flask <http://flask.pocoo.org/>`_.
.. toctree::
:maxdepth: 2
...
...
doc/mod_base.rst
View file @
971bea12
``flask.ext.admin
ex
.base``
========================
==
``flask.ext.admin.base``
========================
.. automodule:: flask.ext.admin
ex
.base
.. automodule:: flask.ext.admin.base
Base View
---------
...
...
doc/mod_ext_fileadmin.rst
View file @
971bea12
``flask.ext.admin
ex
.ext.fileadmin``
=================================
==
``flask.ext.admin.ext.fileadmin``
=================================
.. automodule:: flask.ext.admin
ex
.ext.fileadmin
.. automodule:: flask.ext.admin.ext.fileadmin
.. autoclass:: FileAdmin
:members:
...
...
doc/mod_ext_sqlamodel.rst
View file @
971bea12
``flask.ext.admin
ex
.ext.sqlamodel``
=================================
==
``flask.ext.admin.ext.sqlamodel``
=================================
.. automodule:: flask.ext.admin
ex
.ext.sqlamodel
.. automodule:: flask.ext.admin.ext.sqlamodel
.. autoclass:: ModelView
:members:
...
...
@@ -9,7 +9,7 @@
:exclude-members: hide_backrefs, auto_select_related, list_select_related,
searchable_columns, filter_converter
Class inherits configuration options from :class:`~flask.ext.admin
ex
.model.BaseModelView` and they're not displayed here.
Class inherits configuration options from :class:`~flask.ext.admin.model.BaseModelView` and they're not displayed here.
.. autoattribute:: hide_backrefs
.. autoattribute:: auto_select_related
...
...
doc/mod_form.rst
View file @
971bea12
``flask.ext.admin
ex
.form``
========================
==
``flask.ext.admin.form``
========================
.. automodule:: flask.ext.admin
ex
.form
.. automodule:: flask.ext.admin.form
.. autoclass:: BaseForm
:members:
doc/mod_model.rst
View file @
971bea12
``flask.ext.admin
ex
.model``
=========================
==
``flask.ext.admin.model``
=========================
.. automodule:: flask.ext.admin
ex
.model
.. automodule:: flask.ext.admin.model
.. autoclass:: BaseModelView
:members:
...
...
doc/mod_tools.rst
View file @
971bea12
``flask.ext.admin
ex
.tools``
=========================
==
``flask.ext.admin.tools``
=========================
.. automodule:: flask.ext.admin
ex
.tools
.. automodule:: flask.ext.admin.tools
.. autofunction:: import_module
.. autofunction:: import_attribute
...
...
doc/model_guidelines.rst
View file @
971bea12
...
...
@@ -16,7 +16,7 @@ There are few assumptions about models:
Steps to add new model backend:
1. Create new class and derive it from :class:`~flask.ext.admin
ex
.model.BaseModelView`::
1. Create new class and derive it from :class:`~flask.ext.admin.model.BaseModelView`::
class MyDbModel(BaseModelView):
pass
...
...
@@ -26,11 +26,11 @@ Steps to add new model backend:
2. Implement following scaffolding methods::
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.get_pk_value`
- :meth:`~flask.ext.admin.model.BaseModelView.get_pk_value`
This method will return primary key value from
the model. For example, in SQLAlchemy backend,
it gets primary key from the model (:meth:`~flask.ext.admin
ex
.ext.sqla.ModelView.scaffold_pk), caches it
it gets primary key from the model (:meth:`~flask.ext.admin.ext.sqla.ModelView.scaffold_pk), caches it
and returns actual value from the model from ``get_pk_value`` when requested.
For example::
...
...
@@ -39,7 +39,7 @@ Steps to add new model backend:
def get_pk_value(self, model):
return self.model.id
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.scaffold_list_columns`
- :meth:`~flask.ext.admin.model.BaseModelView.scaffold_list_columns`
Returns list of columns to be displayed in a list view.
Make sure you exclude columns if `self.excluded_list_columns` was set.
...
...
@@ -59,7 +59,7 @@ Steps to add new model backend:
return columns
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.scaffold_sortable_columns`
- :meth:`~flask.ext.admin.model.BaseModelView.scaffold_sortable_columns`
Returns dictionary of sortable columns. Key in a dictionary is field name. Value - implementation
specific, value that will be used by you backend implementation to do actual sort operation.
...
...
@@ -72,7 +72,7 @@ Steps to add new model backend:
If your backend does not support sorting, return
`None` or empty dictionary.
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.init_search`
- :meth:`~flask.ext.admin.model.BaseModelView.init_search`
Initialize search functionality. If your backend supports
full-text search, do initializations and return `True`.
...
...
@@ -84,7 +84,7 @@ Steps to add new model backend:
it will add a join, etc) and caches this information for
future use.
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.is_valid_filter`
- :meth:`~flask.ext.admin.model.BaseModelView.is_valid_filter`
Verify if provided object is a valid filter.
...
...
@@ -94,16 +94,16 @@ Steps to add new model backend:
This also means that different backends might have
different set of available filters.
Filter is a class derived from :class:`~flask.ext.admin
ex
.model.filters.BaseFilter` which implements at least two methods:
Filter is a class derived from :class:`~flask.ext.admin.model.filters.BaseFilter` which implements at least two methods:
1. :meth:`~flask.ext.admin
ex
.model.filters.BaseFilter.apply`
2. :meth:`~flask.ext.admin
ex
.model.filters.BaseFilter.operation`
1. :meth:`~flask.ext.admin.model.filters.BaseFilter.apply`
2. :meth:`~flask.ext.admin.model.filters.BaseFilter.operation`
`apply` method accepts two parameters: `query` object and a value from the client. Here you will add
filtering logic for this filter type.
Lets take SQLAlchemy model backend as an example.
All SQLAlchemy filters derive from :class:`~flask.ext.admin
ex
.ext.sqla.filters.BaseSQLAFilter` class.
All SQLAlchemy filters derive from :class:`~flask.ext.admin.ext.sqla.filters.BaseSQLAFilter` class.
Each filter implements one simple filter SQL operation
(like, not like, greater, etc) and accepts column as
...
...
@@ -139,7 +139,7 @@ Steps to add new model backend:
def clean(self, value):
return value
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.scaffold_filters`
- :meth:`~flask.ext.admin.model.BaseModelView.scaffold_filters`
Return list of filter objects for one model field.
...
...
@@ -158,7 +158,7 @@ Steps to add new model backend:
if isinstance(attr, MyDbTextField):
return [MyEqualFilter(name, name)]
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.scaffold_form`
- :meth:`~flask.ext.admin.model.BaseModelView.scaffold_form`
Generate `WTForms` form class from the model.
...
...
@@ -172,7 +172,7 @@ Steps to add new model backend:
# Do something
return MyForm
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.get_list`
- :meth:`~flask.ext.admin.model.BaseModelView.get_list`
This method should return list of models with paging,
sorting, etc applied.
...
...
@@ -202,19 +202,19 @@ Steps to add new model backend:
6. Return count, list as a tuple
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.get_one`
- :meth:`~flask.ext.admin.model.BaseModelView.get_one`
Return one model by its primary key.
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.create_model`
- :meth:`~flask.ext.admin.model.BaseModelView.create_model`
Create new model from the `Form` object.
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.update_model`
- :meth:`~flask.ext.admin.model.BaseModelView.update_model`
Update provided model with the data from the form.
- :meth:`~flask.ext.admin
ex
.model.BaseModelView.delete_model`
- :meth:`~flask.ext.admin.model.BaseModelView.delete_model`
Delete provided model from the data store.
...
...
doc/quickstart.rst
View file @
971bea12
Quick Start
===========
This page gives quick introduction to Flask-Admin
Ex
library. It is assumed that reader has some prior
This page gives quick introduction to Flask-Admin library. It is assumed that reader has some prior
knowledge of the `Flask <http://flask.pocoo.org/>`_ framework.
Introduction
...
...
@@ -27,7 +27,7 @@ Here is absolutely valid administrative piece::
So, how does it help structuring administrative interface? With such building blocks, you're
implementing reusable functional pieces that are highly customizable.
For example, Flask-Admin
Ex
provides ready-to-use SQLAlchemy model interface. It is implemented as a
For example, Flask-Admin provides ready-to-use SQLAlchemy model interface. It is implemented as a
class which accepts two parameters: model and a database session. While it exposes some
class-level variables which change behavior of the interface (somewhat similar to django.contrib.admin),
nothing prohibits you from overriding form creation logic, database access methods or adding more views.
...
...
@@ -35,10 +35,10 @@ nothing prohibits you from overriding form creation logic, database access metho
Initialization
--------------
To start using Flask-Admin
Ex
, you have to create `Admin` class instance and associate it with Flask application::
To start using Flask-Admin, you have to create `Admin` class instance and associate it with Flask application::
from flask import Flask
from flask.ext.admin
ex
import Admin
from flask.ext.admin import Admin
app = Flask(__name__)
...
...
@@ -71,7 +71,7 @@ Adding view
Now, lets add a view. To do this, you need to derive from `BaseView` class::
from flask import Flask
from flask.ext.admin
ex
import Admin, BaseView, expose
from flask.ext.admin import Admin, BaseView, expose
class MyView(BaseView):
@expose('/')
...
...
@@ -113,7 +113,7 @@ You're not limited to top level menu. It is possible to pass category name and i
top menu item. For example::
from flask import Flask
from flask.ext.admin
ex
import Admin, BaseView, expose
from flask.ext.admin import Admin, BaseView, expose
class MyView(BaseView):
@expose('/')
...
...
@@ -137,7 +137,7 @@ Will look like this:
Authentication
--------------
By default, administrative interface is visible to everyone, as Flask-Admin
Ex
does not make
By default, administrative interface is visible to everyone, as Flask-Admin does not make
any assumptions about authentication system you're using.
If you want to control who can access administrative views and who can not, derive from the
...
...
@@ -194,9 +194,9 @@ is not provided. Model-based views will be explained in the next section.
Model Views
-----------
Flask-Admin
Ex
comes with built-in SQLAlchemy model administrative interface. It is very easy to use::
Flask-Admin comes with built-in SQLAlchemy model administrative interface. It is very easy to use::
from flask.ext.admin
ex
.ext.sqlamodel import ModelView
from flask.ext.admin.ext.sqlamodel import ModelView
from flask.ext.sqlalchemy import db
# Flask and Flask-SQLAlchemy initialization here
...
...
@@ -236,16 +236,16 @@ you can do something like this::
It is very easy to add support for different database backends (Mongo, etc) by inheriting from `BaseModelView`
class and implementing database-related methods.
Please refer to :mod:`flask.ext.admin
ex
.ext.sqlamodel` documentation on how to customize behavior of model-based administrative views.
Please refer to :mod:`flask.ext.admin.ext.sqlamodel` documentation on how to customize behavior of model-based administrative views.
File Admin
----------
Flask-Admin
Ex
comes with another handy battery - file admin. It gives you ability to manage files on your server (upload, delete, rename, etc).
Flask-Admin comes with another handy battery - file admin. It gives you ability to manage files on your server (upload, delete, rename, etc).
Here is simple example::
from flask.ext.admin
ex
.ext.fileadmin import FileAdmin
from flask.ext.admin.ext.fileadmin import FileAdmin
import os.path as op
...
...
@@ -263,14 +263,14 @@ Sample screenshot:
:target: ../_images/quickstart_5.png
You can disable uploads, disable file or directory deletion, restrict file uploads to certain types and so on.
Check :mod:`flask.ext.admin
ex
.ext.fileadmin` documentation on how to do it.
Check :mod:`flask.ext.admin.ext.fileadmin` documentation on how to do it.
Examples
--------
Flask-Admin
Ex
comes with four samples:
Flask-Admin comes with four samples:
- `Simple administrative interface <https://github.com/MrJoes/Flask-Admin
Ex
/tree/master/examples/simple>`_ with custom administrative views
- `SQLAlchemy model example <https://github.com/MrJoes/Flask-Admin
Ex
/tree/master/examples/sqla>`_
- `Flask-Login integration example <https://github.com/MrJoes/Flask-Admin
Ex
/tree/master/examples/auth>`_
- `File management interface <https://github.com/MrJoes/Flask-Admin
Ex
/tree/master/examples/file>`_
- `Simple administrative interface <https://github.com/MrJoes/Flask-Admin/tree/master/examples/simple>`_ with custom administrative views
- `SQLAlchemy model example <https://github.com/MrJoes/Flask-Admin/tree/master/examples/sqla>`_
- `Flask-Login integration example <https://github.com/MrJoes/Flask-Admin/tree/master/examples/auth>`_
- `File management interface <https://github.com/MrJoes/Flask-Admin/tree/master/examples/file>`_
setup.cfg
View file @
971bea12
...
...
@@ -2,4 +2,4 @@
detailed-errors=1
with-coverage=0
debug=nose.loader
tests=flask_admin
ex
/tests/test_base.py
tests=flask_admin/tests/test_base.py
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment