yanleafadmin 2.0.4__tar.gz → 2.0.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. {yanleafadmin-2.0.4/yanleafadmin.egg-info → yanleafadmin-2.0.5}/PKG-INFO +29 -13
  2. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/README.md +28 -12
  3. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/base.html +0 -8
  4. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/setup.py +1 -1
  5. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5/yanleafadmin.egg-info}/PKG-INFO +29 -13
  6. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/LICENSE +0 -0
  7. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/MANIFEST.in +0 -0
  8. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/__init__.py +0 -0
  9. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/ai_assistant/__init__.py +0 -0
  10. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/ai_assistant/apps.py +0 -0
  11. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/ai_assistant/services.py +0 -0
  12. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/ai_assistant/static/ai/ai-search.js +0 -0
  13. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/ai_assistant/templates/ai/fullpage.html +0 -0
  14. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/ai_assistant/urls.py +0 -0
  15. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/ai_assistant/views.py +0 -0
  16. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/__init__.py +0 -0
  17. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/admin.py +0 -0
  18. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/apps.py +0 -0
  19. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/migrations/__init__.py +0 -0
  20. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/models.py +0 -0
  21. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/templates/admin/base_site.html +0 -0
  22. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/templates/admin/dashboard_index.html +0 -0
  23. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/tests.py +0 -0
  24. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/dashboard_engine/views.py +0 -0
  25. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/erd_engine/__init__.py +0 -0
  26. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/erd_engine/apps.py +0 -0
  27. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/erd_engine/sql_parser.py +0 -0
  28. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/erd_engine/static/erd/er-diagram.js +0 -0
  29. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/erd_engine/templates/erd/er_diagram.html +0 -0
  30. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/erd_engine/urls.py +0 -0
  31. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/erd_engine/views.py +0 -0
  32. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/__init__.py +0 -0
  33. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/admin.py +0 -0
  34. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/apps.py +0 -0
  35. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/components/__init__.py +0 -0
  36. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/components/actions.py +0 -0
  37. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/components/charts.py +0 -0
  38. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/context_processors.py +0 -0
  39. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/forms.py +0 -0
  40. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/migrations/__init__.py +0 -0
  41. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/models.py +0 -0
  42. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/settings.py +0 -0
  43. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/css/admin.css +0 -0
  44. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/css/change-form.css +0 -0
  45. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/css/change-list.css +0 -0
  46. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/css/dashboard.css +0 -0
  47. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/css/login.css +0 -0
  48. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/css/password-form.css +0 -0
  49. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/css/user-change-form.css +0 -0
  50. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/components.js +0 -0
  51. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/core.js +0 -0
  52. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/filter-widget.js +0 -0
  53. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/i18n/datatables.en.json +0 -0
  54. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/i18n/datatables.zh-hans.json +0 -0
  55. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/login.js +0 -0
  56. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/password-check.js +0 -0
  57. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/smart-chart.js +0 -0
  58. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/js/user-password-field.js +0 -0
  59. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/bulma/bulma.min.css +0 -0
  60. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/bulma-calendar/bulma-calendar.min.css +0 -0
  61. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/bulma-calendar/bulma-calendar.min.js +0 -0
  62. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/datatables/css/buttons.bulma.min.css +0 -0
  63. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/datatables/css/dataTables.bulma.min.css +0 -0
  64. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/datatables/js/buttons.html5.min.js +0 -0
  65. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/datatables/js/buttons.print.min.js +0 -0
  66. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/datatables/js/dataTables.bulma.min.js +0 -0
  67. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/datatables/js/dataTables.buttons.min.js +0 -0
  68. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/datatables/js/jquery.dataTables.min.js +0 -0
  69. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/dropzone/dropzone-min.js +0 -0
  70. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/dropzone/dropzone.css +0 -0
  71. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/echarts/echarts.min.js +0 -0
  72. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/fontawesome/css/all.min.css +0 -0
  73. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  74. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  75. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  76. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/gojs/go.js +0 -0
  77. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/jquery/jquery.min.js +0 -0
  78. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/jszip/jszip.min.js +0 -0
  79. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/select2/css/select2.min.css +0 -0
  80. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/select2/js/select2.min.js +0 -0
  81. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/static/yanleafadmin/vendor/sweetalert2/sweetalert2.all.min.js +0 -0
  82. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/app_index.html +0 -0
  83. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/auth/user/add_form.html +0 -0
  84. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/auth/user/change_form.html +0 -0
  85. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/auth/user/change_password.html +0 -0
  86. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/base_site.html +0 -0
  87. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/change_form.html +0 -0
  88. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/change_list.html +0 -0
  89. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/change_list_results.html +0 -0
  90. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/dashboard_index.html +0 -0
  91. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/edit_inline/tabular.html +0 -0
  92. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/login.html +0 -0
  93. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/admin/pagination.html +0 -0
  94. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/registration/password_change_done.html +0 -0
  95. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templates/registration/password_change_form.html +0 -0
  96. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templatetags/__init__.py +0 -0
  97. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templatetags/yla_charts.py +0 -0
  98. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/templatetags/yla_components.py +0 -0
  99. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/tests.py +0 -0
  100. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/urls.py +0 -0
  101. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/theme/views.py +0 -0
  102. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/__init__.py +0 -0
  103. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/admin.py +0 -0
  104. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/apps.py +0 -0
  105. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/management/__init__.py +0 -0
  106. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/management/commands/__init__.py +0 -0
  107. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/management/commands/seed_demo_data.py +0 -0
  108. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/migrations/0001_initial.py +0 -0
  109. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/migrations/__init__.py +0 -0
  110. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/models.py +0 -0
  111. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/tests.py +0 -0
  112. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/apps/users/views.py +0 -0
  113. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/requirements.txt +0 -0
  114. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/setup.cfg +0 -0
  115. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/yanleafadmin/__init__.py +0 -0
  116. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/yanleafadmin/apps.py +0 -0
  117. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/yanleafadmin.egg-info/SOURCES.txt +0 -0
  118. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/yanleafadmin.egg-info/dependency_links.txt +0 -0
  119. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/yanleafadmin.egg-info/requires.txt +0 -0
  120. {yanleafadmin-2.0.4 → yanleafadmin-2.0.5}/yanleafadmin.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: yanleafadmin
3
- Version: 2.0.4
3
+ Version: 2.0.5
4
4
  Summary: 极简白色现代 Django Admin 主题体系 — 基于 Django + Bulma CSS
5
5
  Home-page: https://github.com/zhouyanye/yanleafadmin
6
6
  Author: zhouyanye
@@ -53,7 +53,7 @@ License-File: LICENSE
53
53
  ### AI 数据助手
54
54
  - **右下角悬浮聊天机器人**,点击即可对话
55
55
  - **自然语言查询**:基于 DeepSeek 驱动,自动转 Django ORM
56
- - **SmartChart 渲染**:查询结果原地生成图表
56
+ - **ECharts 图表**:查询结果原地渲染折线图/饼图/柱状图
57
57
  - **多模型支持**:DeepSeek Chat / Reasoner / GPT-4o / 通义千问
58
58
  - **配置保存在浏览器**:API Key 不上传服务器
59
59
  - **聊天历史**:localStorage 持久化最近 50 条对话
@@ -97,33 +97,49 @@ import os, sys
97
97
  sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
98
98
  ```
99
99
 
100
- #### 最少配置(只用主题 + 仪表盘)
100
+ #### 一行启用(主题 + 仪表盘,开箱即用)
101
101
 
102
102
  ```python
103
103
  INSTALLED_APPS = [
104
- 'yanleafadmin', # 主题(必须在 admin 前面,一行搞定)
104
+ 'yanleafadmin', # 一行搞定主题和仪表盘
105
105
  'django.contrib.admin',
106
106
  'django.contrib.auth',
107
107
  'django.contrib.contenttypes',
108
108
  'django.contrib.sessions',
109
109
  'django.contrib.messages',
110
110
  'django.contrib.staticfiles',
111
- 'captcha', # 登录验证码
112
- 'apps.users.apps.UsersConfig',
113
- 'apps.dashboard_engine.apps.DashboardEngineConfig',
114
111
  ]
112
+ ```
113
+
114
+ > 仪表盘首页自动启用(统计卡片 + 热力图 + 玫瑰图 + 系统动态时间线)。
115
+
116
+ #### 可选:启用语言切换
115
117
 
116
- AUTH_USER_MODEL = 'users.User'
118
+ ```python
119
+ # urls.py
120
+ urlpatterns = [
121
+ path('i18n/', include('django.conf.urls.i18n')),
122
+ ...
123
+ ]
117
124
  ```
118
125
 
119
- #### 完整配置(含 ER 图 + AI 助手)
126
+ #### 可选:启用登录验证码
120
127
 
121
- 在最少配置基础上追加:
128
+ ```python
129
+ INSTALLED_APPS += ['captcha']
130
+ ```
131
+
132
+ #### 可选:启用 ER 图 / AI 助手 / SmartChart
133
+
134
+ 这些功能需要额外配置 URL 路由:
122
135
 
123
136
  ```python
124
- INSTALLED_APPS += [
125
- 'apps.erd_engine.apps.ErdEngineConfig',
126
- 'apps.ai_assistant.apps.AiAssistantConfig',
137
+ # urls.py
138
+ urlpatterns = [
139
+ ...
140
+ path('admin/erd/', include('apps.erd_engine.urls')), # ER 图
141
+ path('api/ai/', include('apps.ai_assistant.urls')), # AI 助手
142
+ path('yla-api/', include('apps.theme.urls')), # SmartChart
127
143
  ]
128
144
  ```
129
145
 
@@ -34,7 +34,7 @@
34
34
  ### AI 数据助手
35
35
  - **右下角悬浮聊天机器人**,点击即可对话
36
36
  - **自然语言查询**:基于 DeepSeek 驱动,自动转 Django ORM
37
- - **SmartChart 渲染**:查询结果原地生成图表
37
+ - **ECharts 图表**:查询结果原地渲染折线图/饼图/柱状图
38
38
  - **多模型支持**:DeepSeek Chat / Reasoner / GPT-4o / 通义千问
39
39
  - **配置保存在浏览器**:API Key 不上传服务器
40
40
  - **聊天历史**:localStorage 持久化最近 50 条对话
@@ -78,33 +78,49 @@ import os, sys
78
78
  sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
79
79
  ```
80
80
 
81
- #### 最少配置(只用主题 + 仪表盘)
81
+ #### 一行启用(主题 + 仪表盘,开箱即用)
82
82
 
83
83
  ```python
84
84
  INSTALLED_APPS = [
85
- 'yanleafadmin', # 主题(必须在 admin 前面,一行搞定)
85
+ 'yanleafadmin', # 一行搞定主题和仪表盘
86
86
  'django.contrib.admin',
87
87
  'django.contrib.auth',
88
88
  'django.contrib.contenttypes',
89
89
  'django.contrib.sessions',
90
90
  'django.contrib.messages',
91
91
  'django.contrib.staticfiles',
92
- 'captcha', # 登录验证码
93
- 'apps.users.apps.UsersConfig',
94
- 'apps.dashboard_engine.apps.DashboardEngineConfig',
95
92
  ]
93
+ ```
94
+
95
+ > 仪表盘首页自动启用(统计卡片 + 热力图 + 玫瑰图 + 系统动态时间线)。
96
+
97
+ #### 可选:启用语言切换
96
98
 
97
- AUTH_USER_MODEL = 'users.User'
99
+ ```python
100
+ # urls.py
101
+ urlpatterns = [
102
+ path('i18n/', include('django.conf.urls.i18n')),
103
+ ...
104
+ ]
98
105
  ```
99
106
 
100
- #### 完整配置(含 ER 图 + AI 助手)
107
+ #### 可选:启用登录验证码
101
108
 
102
- 在最少配置基础上追加:
109
+ ```python
110
+ INSTALLED_APPS += ['captcha']
111
+ ```
112
+
113
+ #### 可选:启用 ER 图 / AI 助手 / SmartChart
114
+
115
+ 这些功能需要额外配置 URL 路由:
103
116
 
104
117
  ```python
105
- INSTALLED_APPS += [
106
- 'apps.erd_engine.apps.ErdEngineConfig',
107
- 'apps.ai_assistant.apps.AiAssistantConfig',
118
+ # urls.py
119
+ urlpatterns = [
120
+ ...
121
+ path('admin/erd/', include('apps.erd_engine.urls')), # ER 图
122
+ path('api/ai/', include('apps.ai_assistant.urls')), # AI 助手
123
+ path('yla-api/', include('apps.theme.urls')), # SmartChart
108
124
  ]
109
125
  ```
110
126
 
@@ -82,14 +82,6 @@
82
82
  {% endfor %}
83
83
  {% endif %}
84
84
 
85
- <!-- 工具区 -->
86
- <div class="sidebar-section">
87
- <p class="sidebar-section-title">{% translate '工具' %}</p>
88
- <ul class="sidebar-menu">
89
- <li><a href="/admin/erd/"><span class="menu-icon"><i class="fas fa-project-diagram"></i></span>{% translate 'ER 图' %}</a></li>
90
- </ul>
91
- </div>
92
-
93
85
  {% if not available_apps %}
94
86
  <div class="sidebar-section">
95
87
  <p class="sidebar-section-title">{% translate '导航' %}</p>
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
3
3
 
4
4
  setup(
5
5
  name='yanleafadmin',
6
- version='2.0.4',
6
+ version='2.0.5',
7
7
  description='极简白色现代 Django Admin 主题体系 — 基于 Django + Bulma CSS',
8
8
  long_description=open('README.md', encoding='utf-8').read() if __import__('os').path.exists('README.md') else '',
9
9
  long_description_content_type='text/markdown',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: yanleafadmin
3
- Version: 2.0.4
3
+ Version: 2.0.5
4
4
  Summary: 极简白色现代 Django Admin 主题体系 — 基于 Django + Bulma CSS
5
5
  Home-page: https://github.com/zhouyanye/yanleafadmin
6
6
  Author: zhouyanye
@@ -53,7 +53,7 @@ License-File: LICENSE
53
53
  ### AI 数据助手
54
54
  - **右下角悬浮聊天机器人**,点击即可对话
55
55
  - **自然语言查询**:基于 DeepSeek 驱动,自动转 Django ORM
56
- - **SmartChart 渲染**:查询结果原地生成图表
56
+ - **ECharts 图表**:查询结果原地渲染折线图/饼图/柱状图
57
57
  - **多模型支持**:DeepSeek Chat / Reasoner / GPT-4o / 通义千问
58
58
  - **配置保存在浏览器**:API Key 不上传服务器
59
59
  - **聊天历史**:localStorage 持久化最近 50 条对话
@@ -97,33 +97,49 @@ import os, sys
97
97
  sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
98
98
  ```
99
99
 
100
- #### 最少配置(只用主题 + 仪表盘)
100
+ #### 一行启用(主题 + 仪表盘,开箱即用)
101
101
 
102
102
  ```python
103
103
  INSTALLED_APPS = [
104
- 'yanleafadmin', # 主题(必须在 admin 前面,一行搞定)
104
+ 'yanleafadmin', # 一行搞定主题和仪表盘
105
105
  'django.contrib.admin',
106
106
  'django.contrib.auth',
107
107
  'django.contrib.contenttypes',
108
108
  'django.contrib.sessions',
109
109
  'django.contrib.messages',
110
110
  'django.contrib.staticfiles',
111
- 'captcha', # 登录验证码
112
- 'apps.users.apps.UsersConfig',
113
- 'apps.dashboard_engine.apps.DashboardEngineConfig',
114
111
  ]
112
+ ```
113
+
114
+ > 仪表盘首页自动启用(统计卡片 + 热力图 + 玫瑰图 + 系统动态时间线)。
115
+
116
+ #### 可选:启用语言切换
115
117
 
116
- AUTH_USER_MODEL = 'users.User'
118
+ ```python
119
+ # urls.py
120
+ urlpatterns = [
121
+ path('i18n/', include('django.conf.urls.i18n')),
122
+ ...
123
+ ]
117
124
  ```
118
125
 
119
- #### 完整配置(含 ER 图 + AI 助手)
126
+ #### 可选:启用登录验证码
120
127
 
121
- 在最少配置基础上追加:
128
+ ```python
129
+ INSTALLED_APPS += ['captcha']
130
+ ```
131
+
132
+ #### 可选:启用 ER 图 / AI 助手 / SmartChart
133
+
134
+ 这些功能需要额外配置 URL 路由:
122
135
 
123
136
  ```python
124
- INSTALLED_APPS += [
125
- 'apps.erd_engine.apps.ErdEngineConfig',
126
- 'apps.ai_assistant.apps.AiAssistantConfig',
137
+ # urls.py
138
+ urlpatterns = [
139
+ ...
140
+ path('admin/erd/', include('apps.erd_engine.urls')), # ER 图
141
+ path('api/ai/', include('apps.ai_assistant.urls')), # AI 助手
142
+ path('yla-api/', include('apps.theme.urls')), # SmartChart
127
143
  ]
128
144
  ```
129
145
 
File without changes
File without changes
File without changes