安装和快速入门

使用pip安装包:

pip install adminui

为您的项目创建一个 python 文件,例如example.py:

from adminui import *

app = AdminApp()

def on_submit(form_data):
    print(form_data)

@app.page('/', 'Form')
def form_page():
    return [
        Form(on_submit = on_submit, content = [
            TextField('Title', required_message="The title is required!"),
            TextArea('Description'),
            FormActions(content = [
                SubmitButton('Submit')
            ])
        ])
    ]

if __name__ == '__main__':
    app.run()

运行 python 文件:

python example_form.py

现在访问http://127.0.0.1:5000/以查看索引页。它看起来这样:

_images/basic_example_screenshot.png

基本概念和示例解析

首先,您需要创建一个 AdminApp 对象:

app = AdminApp()

然后,您将页面添加到你的应用中。使用 @app.page 修饰器,后跟一个自定义函数(可以任意命名),该函数返回一个页面元素数组,将在用户访问特定 url 时显示:

@app.page('/', 'Form')
def form_page():
    return [ ...put page contents here... ]

@app.page 修饰器接收两个参数。一个用于 url(本例中为’/’),另一个用于页面标题(本例中的”Form”)。

通过修饰函数,每次用户访问该页面时,您可以返回不同的页面元素或数据。

所有页面元素都是 Python 对象。您可以参考本文档的其他章节来了解如何使用它们。我们可以看到,上面的示例创建了一个表单、一个文本字段、一个文本区域和一个提交按钮。

最后,运行应用:

app.run()

Use FastAPI instead of Flask

Set use_fastapi=True when creating the app; and prepare() instead of run to expose the app to uvicorn.

The basic example will be:

from adminui import *

app = AdminApp(use_fastapi=True)

def on_submit(form_data):
    print(form_data)

@app.page('/', 'Form')
def form_page():
    return [
        Form(on_submit = on_submit, content = [
            TextField('Title', required_message="The title is required!"),
            TextArea('Description'),
            FormActions(content = [
                SubmitButton('Submit')
            ])
        ])
    ]

fastapi_app = app.prepare()

Then run from command line:

uvicorn example_fastapi:fastapi_app