Skip to content

Commit c9e929e

Browse files
committed
增加自定义页面功能
1 parent 6ac16a8 commit c9e929e

File tree

5 files changed

+46
-5
lines changed

5 files changed

+46
-5
lines changed

fast_tmp/site/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ class RegisterRouter:
197197
_name: str
198198
_prefix: str
199199

200-
async def get_app_page(self, request: Request) -> Page:
200+
async def get_app_page(self, request: Request) -> dict:
201201
raise AttributeError("need write")
202202

203203
def __init__(self, prefix: str, name: str):

fast_tmp/site/field.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,6 @@ def create_column(
595595
# todo 以后考虑创建更新的control分离
596596
class Password(StrControl):
597597
_control_type = ControlEnum.input_password
598-
_update_control = None
599598

600599
async def get_value(self, request: Request, obj: Model) -> Any:
601600
return None

tests/test_example/app.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
import os
22

3+
from starlette.requests import Request
4+
35
os.environ.setdefault("FASTAPI_SETTINGS_MODULE", "test_example.settings")
4-
from test_example.admin import AuthorModel, BookModel, FieldTestingModel
5-
from tortoise.contrib.fastapi import register_tortoise
66

77
from fast_tmp.admin.register import register_static_service
88
from fast_tmp.conf import settings
99
from fast_tmp.factory import create_app
1010
from fast_tmp.models import User
11+
from fast_tmp.responses import BaseRes
1112
from fast_tmp.site import register_model_site
13+
from test_example.admin import AuthorModel, BookModel, FieldTestingModel
14+
from tortoise.contrib.fastapi import register_tortoise
15+
16+
from test_example.page import UserSelfInfo
1217

13-
register_model_site({"fieldtesting": [FieldTestingModel(), BookModel(), AuthorModel()]})
18+
register_model_site({"fieldtesting": [FieldTestingModel(), BookModel(), AuthorModel(), UserSelfInfo()]})
1419
app = create_app()
1520
app.title = "test_example"
1621

@@ -26,6 +31,12 @@ async def create_user():
2631
await user.save()
2732

2833

34+
@app.post("/form-test")
35+
async def test_form(request: Request):
36+
print(await request.json())
37+
return BaseRes()
38+
39+
2940
register_tortoise(app, config=settings.TORTOISE_ORM, generate_schemas=True)
3041
if settings.DEBUG:
3142
register_static_service(app)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
"""
2+
测试插件功能,支持自己写入规则
3+
"""
4+
from starlette.requests import Request
5+
6+
from fast_tmp.amis.forms import Control, Form
7+
from fast_tmp.amis.page import Page
8+
from fast_tmp.site.base import RegisterRouter
9+
10+
11+
class MarkdownItem(Control):
12+
langeuage: str
13+
type = "editor"
14+
15+
16+
class UserSelfInfo(RegisterRouter):
17+
def __init__(self):
18+
super().__init__("info", "info")
19+
20+
async def get_app_page(self, request: Request) -> dict:
21+
return Page(title="userselfinfo", body=[Form(
22+
name="form", body=[MarkdownItem(langeuage="markdown", name="markdown", label="markdown")],
23+
api="/form-test"
24+
)]).dict(exclude_none=True)

tests/test_plugin.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
"""
2+
测试插件功能,支持自己写入规则
3+
"""
4+
from fast_tmp.amis.forms import Control
5+
6+
class MarkdownItem(Control):
7+
""""""

0 commit comments

Comments
 (0)