Metadata-Version: 2.1
Name: flask-auto-routers
Version: 0.1.2
Summary: flask restful auto router
Home-page: https://github.com/guapit/flask-auto-router
Author: guapit
Author-email: guapit <guapit@qq.com>
Project-URL: Homepage, https://github.com/guapit/flask-auto-router
Project-URL: Bug Tracker, https://github.com/guapit/flask-auto-router/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE

# Flask Auto Router(自动注册路由)

<p align="center">
<a href="https://www.mql5.com"><img src="https://img.shields.io/badge/Module-flask_auto_router-critical.svg"/></a>
<a href="#"><img src="https://img.shields.io/badge/Language-Python-blue"/></a>
    <a href="#"><img src="https://img.shields.io/badge/Version-0.1.2-f1c232"/></a>
<img src="https://img.shields.io/badge/Author-guapit-ff69b4"/>
<a href="https://www.github.com/guapit"><img src="https://img.shields.io/badge/Github-guapit-success"/></a>
<a href="https://www.gitee.com/guapit"><img src="https://img.shields.io/badge/Gitee-guapit-yellowgreen"/></a>
<a href="#"><img src="https://img.shields.io/badge/E--mail-guapit%40qq.com-yellowgreen"/></a>
</p><br>

 This is an auto-register routing plugin based on the 'Flask' framework, developed according to the 'flask_restful' specification, you only need to configure the view file, you can automatically register the routing system, if you encounter Debug or problems, please contact me through the above contact information



这是一个基于 `Flask`框架的自动注册路由插件,根据`flask_restful `规范开发的,你只需要配置视图文件,就可以自动注册路由系统,如果你在使用中遇到Debug或者问题,请通过上面的联系方式联系我

Required plugins 必要的插件

```pthon
pip install -U flask
pip install -U flask-restful
```



## settings(配置)

`BASE_DIR`: Sets the root path for the search

设置搜索的根路径

```python
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
```



`AUTO_ROUTER_DIR`: A file filter that allows AutoRouter to search only a specified range of directories

文件过滤器,可以使AutoRouter 只搜索指定范围的目录

```python
AUTO_ROUTER_DIR = ['view', 'view2'] 
```

Simple configuration is all that's needed, and you never have to configure a cumbersome routing system again

只需要简单的配置,从此再也不用配置繁琐的路由系统 ^.^

```python
from flask import Flask
from flask_auto_router import AutoRouter


# 1.flask restful view object Auto register router plugins
# 1.flask restful 自动注册视图类路由插件
auto_router = AutoRouter()

# 2. File filter, which allows searching only a specified range of file directories
#  Add this configuration to app.config
# 2.文件过滤器,只允许搜索指定范围的文件目录
#  将此配置加入到 app.config中即可
# Configuration is only allowed to specify the directory view class
# 只允许配置指定目录视图类
#   AUTO_ROUTER_DIR = ['view', 'view2'] 

# 3. 配置需要自动路由的.py文件(注意带有相对路径)
auto_router.add_routers("home","/","view.home")
auto_router.add_routers("user","/user","view.user")

app = Flask(__name__)
auto_router.init_app(app)

if __name__ in "__main__":
    app.run()
```

## View Object(视图类)

`__url__`: Custom Router 自定义子路由

`__endpoint__`: Jinja2 template reflection names Jinja2 模板反射名称

**view.home**

```python
from flask_restful import Resource

class Home(Resource):
    __url__ = '/'
    __endpoint__ = 'home'

    def get(self, **kwargs):
        return "Hello World!"
```

访问地址: http://localhost:5000

**view.user**

```python
from flask_restful import Resource

class User(Resource):
    __url__ = '/'
    __endpoint__ = 'user'

    def get(self, **kwargs):
        return "Hello User!"
    
# If the route method is not stated, the class name will be used as the route  
# 如果没有申明路由方式,将会以类名作为路由
class Login(Resource):

    def get(self, **kwargs):
        return "Login in!"
```

访问地址:

user:  http://localhost:5000/user

user:  http://localhost:5000/login
