Name | TerminatorCore JSON |
Version |
0.1.14
JSON |
| download |
home_page | None |
Summary | django增强 |
upload_time | 2025-01-02 04:05:14 |
maintainer | None |
docs_url | None |
author | bw.song |
requires_python | >=3.8 |
license | MIT |
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"
}