TerminatorCore


NameTerminatorCore JSON
Version 0.1.14 PyPI version JSON
download
home_pageNone
Summarydjango增强
upload_time2025-01-02 04:05:14
maintainerNone
docs_urlNone
authorbw.song
requires_python>=3.8
licenseMIT
keywords terminator song
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TerminatorCore
Django的增强代码,不用手动添加路由,自带crud,代码生成器,简单的权限管理类,帮助缩减开发时间
仅限Django框架

# 1. 创建Django项目
# 2. ```pip install TerminatorCore```
# 3. 配置
- ### 在settings.py中引入TerminatorBaseCore
```python
INSTALLED_APPS = [
    'TerminatorBaseCore',
]
```
- ### 在urls.py中加入配置
load_custom_viewsets_from_directory方法directory参数为需要对外暴露的文件路径

'my_project/expose'意思为扫描该路径下的所有文件

```python
from TerminatorBaseCore.route.load_custom_viewsets_from_directory import load_custom_viewsets_from_directory

urlpatterns = [
    *load_custom_viewsets_from_directory('my_project/expose'),
]
```

- ### 使用基础代码生成器
```python
from TerminatorBaseCore.utils.entity_export_util import generate_model_code

if __name__ == '__main__':
    generate_model_code('uploadfile_image', 'my_project', 'localhost', 'root', 'root', 'test_demo')
```
这里generate_model_code有以下参数  
table_name  数据库表名  
project_name  项目名称  
host  数据库地址  
user  数据库账号  
password  数据库密码  
database  数据库

**生成器会在**___系统文档___**中生成model,expose,service文件,然后将文件复制到项目对应目录下即可**

# 功能一
settings.py中加入,即可开启接口权限校验
```python
PERMISSION_PATH = 'TerminatorBaseCore.service.authenticated_with_redis.AuthenticatedWithRedis'
```

```python
from TerminatorBaseCore.utils.token_manger import TokenManager

# 通过TokenManager实现token的生成校验
# 用户登录成功后为其生成一个token
def user_login(request):
    user_id = 1
    email = "11"
    token = TokenManager().generate_token(user_id, email)
    
    # 为request赋予一个new_token属性,在返回结果后如果有这个属性会自动在响应头X-Token加入token,前端监听响应头中X-Token属性,有值则更新本地token
    request.new_token = token

    # token随请求头的Authorization传递
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "TerminatorCore",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "Terminator, SONG",
    "author": "bw.song",
    "author_email": "tyj003@163.com",
    "download_url": "https://files.pythonhosted.org/packages/c7/77/ddf1e18d51410903cb8fa14bea798c42bd3d175eb8c1e9291730f4b50760/terminatorcore-0.1.14.tar.gz",
    "platform": null,
    "description": "# TerminatorCore\r\nDjango\u7684\u589e\u5f3a\u4ee3\u7801\uff0c\u4e0d\u7528\u624b\u52a8\u6dfb\u52a0\u8def\u7531\uff0c\u81ea\u5e26crud\uff0c\u4ee3\u7801\u751f\u6210\u5668\uff0c\u7b80\u5355\u7684\u6743\u9650\u7ba1\u7406\u7c7b\uff0c\u5e2e\u52a9\u7f29\u51cf\u5f00\u53d1\u65f6\u95f4\r\n\u4ec5\u9650Django\u6846\u67b6\r\n\r\n# 1. \u521b\u5efaDjango\u9879\u76ee\r\n# 2. ```pip install TerminatorCore```\r\n# 3. \u914d\u7f6e\r\n- ### \u5728settings.py\u4e2d\u5f15\u5165TerminatorBaseCore\r\n```python\r\nINSTALLED_APPS = [\r\n    'TerminatorBaseCore',\r\n]\r\n```\r\n- ### \u5728urls.py\u4e2d\u52a0\u5165\u914d\u7f6e\r\nload_custom_viewsets_from_directory\u65b9\u6cd5directory\u53c2\u6570\u4e3a\u9700\u8981\u5bf9\u5916\u66b4\u9732\u7684\u6587\u4ef6\u8def\u5f84\r\n\r\n'my_project/expose'\u610f\u601d\u4e3a\u626b\u63cf\u8be5\u8def\u5f84\u4e0b\u7684\u6240\u6709\u6587\u4ef6\r\n\r\n```python\r\nfrom TerminatorBaseCore.route.load_custom_viewsets_from_directory import load_custom_viewsets_from_directory\r\n\r\nurlpatterns = [\r\n    *load_custom_viewsets_from_directory('my_project/expose'),\r\n]\r\n```\r\n\r\n- ### \u4f7f\u7528\u57fa\u7840\u4ee3\u7801\u751f\u6210\u5668\r\n```python\r\nfrom TerminatorBaseCore.utils.entity_export_util import generate_model_code\r\n\r\nif __name__ == '__main__':\r\n    generate_model_code('uploadfile_image', 'my_project', 'localhost', 'root', 'root', 'test_demo')\r\n```\r\n\u8fd9\u91ccgenerate_model_code\u6709\u4ee5\u4e0b\u53c2\u6570  \r\ntable_name  \u6570\u636e\u5e93\u8868\u540d  \r\nproject_name  \u9879\u76ee\u540d\u79f0  \r\nhost  \u6570\u636e\u5e93\u5730\u5740  \r\nuser  \u6570\u636e\u5e93\u8d26\u53f7  \r\npassword  \u6570\u636e\u5e93\u5bc6\u7801  \r\ndatabase  \u6570\u636e\u5e93\r\n\r\n**\u751f\u6210\u5668\u4f1a\u5728**___\u7cfb\u7edf\u6587\u6863___**\u4e2d\u751f\u6210model,expose,service\u6587\u4ef6,\u7136\u540e\u5c06\u6587\u4ef6\u590d\u5236\u5230\u9879\u76ee\u5bf9\u5e94\u76ee\u5f55\u4e0b\u5373\u53ef**\r\n\r\n# \u529f\u80fd\u4e00\r\nsettings.py\u4e2d\u52a0\u5165,\u5373\u53ef\u5f00\u542f\u63a5\u53e3\u6743\u9650\u6821\u9a8c\r\n```python\r\nPERMISSION_PATH = 'TerminatorBaseCore.service.authenticated_with_redis.AuthenticatedWithRedis'\r\n```\r\n\r\n```python\r\nfrom TerminatorBaseCore.utils.token_manger import TokenManager\r\n\r\n# \u901a\u8fc7TokenManager\u5b9e\u73b0token\u7684\u751f\u6210\u6821\u9a8c\r\n# \u7528\u6237\u767b\u5f55\u6210\u529f\u540e\u4e3a\u5176\u751f\u6210\u4e00\u4e2atoken\r\ndef user_login(request):\r\n    user_id = 1\r\n    email = \"11\"\r\n    token = TokenManager().generate_token(user_id, email)\r\n    \r\n    # \u4e3arequest\u8d4b\u4e88\u4e00\u4e2anew_token\u5c5e\u6027,\u5728\u8fd4\u56de\u7ed3\u679c\u540e\u5982\u679c\u6709\u8fd9\u4e2a\u5c5e\u6027\u4f1a\u81ea\u52a8\u5728\u54cd\u5e94\u5934X-Token\u52a0\u5165token,\u524d\u7aef\u76d1\u542c\u54cd\u5e94\u5934\u4e2dX-Token\u5c5e\u6027,\u6709\u503c\u5219\u66f4\u65b0\u672c\u5730token\r\n    request.new_token = token\r\n\r\n    # token\u968f\u8bf7\u6c42\u5934\u7684Authorization\u4f20\u9012\r\n```\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "django\u589e\u5f3a",
    "version": "0.1.14",
    "project_urls": null,
    "split_keywords": [
        "terminator",
        " song"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b13ac6365593d8adce31e968a710b4a80fa76500e8154bfc3942564c52d0c12a",
                "md5": "95c4c88b66b99ff52cc45c4149ca42e0",
                "sha256": "5429572d20d3cfc28c408c5a188aa71067500773e87479ec94c4ef1fe2309293"
            },
            "downloads": -1,
            "filename": "TerminatorCore-0.1.14-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "95c4c88b66b99ff52cc45c4149ca42e0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 29415,
            "upload_time": "2025-01-02T04:05:10",
            "upload_time_iso_8601": "2025-01-02T04:05:10.630415Z",
            "url": "https://files.pythonhosted.org/packages/b1/3a/c6365593d8adce31e968a710b4a80fa76500e8154bfc3942564c52d0c12a/TerminatorCore-0.1.14-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c777ddf1e18d51410903cb8fa14bea798c42bd3d175eb8c1e9291730f4b50760",
                "md5": "40f6d35a23adab5c761707f2604c1482",
                "sha256": "a9245b691dfc0fd17980bacc30877b4c7ad9471a7ae77ab0dbcd1229e8b5d9a2"
            },
            "downloads": -1,
            "filename": "terminatorcore-0.1.14.tar.gz",
            "has_sig": false,
            "md5_digest": "40f6d35a23adab5c761707f2604c1482",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 21951,
            "upload_time": "2025-01-02T04:05:14",
            "upload_time_iso_8601": "2025-01-02T04:05:14.919555Z",
            "url": "https://files.pythonhosted.org/packages/c7/77/ddf1e18d51410903cb8fa14bea798c42bd3d175eb8c1e9291730f4b50760/terminatorcore-0.1.14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-02 04:05:14",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "terminatorcore"
}
        
Elapsed time: 1.25793s