试用django-jet
“具备改进功能的Django管理界面的现代响应模板”(代理翻译)
在Django Packages管理网站界面部分很受欢迎,因为在功能比较表上也被勾选了很多,所以我决定试一试。
按照文档进行设置。
使用过的环境
Windows 10
Python 3.5.4
Django 1.11.8
django-jet-1.0.7
安装
> pip install django-jet
设定
设置.py
在 INSTALLED_APPS 中添加 jet。
INSTALLED_APPS = [
# TODO: for jet
'jet',
'django.contrib.admin',
...
]
在模板中添加上下文处理器。默认情况下会包含,如果没有,则需额外添加。
TEMPLATES = [
{
...
'OPTIONS': {
'context_processors': [
...
'django.template.context_processors.request',
...
],
},
},
]
urls.py 的本地化中文翻译:网址.py
新增URL模式。该URL将用于相关搜索和自动补全。管理网站的URL不会改变。
urlpatterns = [
# TODO: for jet
url(r'^jet/', include('jet.urls', 'jet')), # Django JET URLS
url(r'^admin/', admin.site.urls),
]
建立jet的DB表格
在Django项目的目录中切换到jet模型,并进行迁移。
> cd project_directory
> python manage.py migrate jet
执行collectstatic命令
由于本次仅涉及本地环境,因此此项不必要。
启动管理网站
默认的管理网站(主页)
为了进行比较,应用django-jet之前的默认管理网站。

django-jet 的后台管理界面 (Home)经过适配之后。
好的。与我最近尝试的django-grappelli相比,这个看起来更现代化。看起来很有用。

设定仪表盘
settings.py 文件
按照以下顺序,在INSTALLED_APPS中添加jet.dashboard。
INSTALLED_APPS = [
# TODO: for jet
'jet.dashboard',
'jet',
'django.contrib.admin',
创建Jet的数据库表
在Django项目的目录中进行dashboard模型的迁移。
> cd project_directory
> python manage.py migrate dashboard
执行collectstatic命令
这次只是在本地环境,所以这个不需要。
启动管理网站(应用Dashboard后)。
客制化未完成的控制面板。



这是一个“…现代应答模板”的开头。
因为感觉好,所以稍微调整一下试试看。
仪表板定制文档。
谷歌分析小组件
我发现了一个名为Google Analytics Widgets的东西,所以我想试着调整一下。
安装google-api-python-client库
pip install google-api-python-client
设置.py
设置谷歌API的认证信息文件(client_secrets.json的获取方法)的路径。
# TODO: for jet google_analytics
JET_MODULE_GOOGLE_ANALYTICS_CLIENT_SECRETS_FILE = os.path.join(BASE_DIR, 'client_secrets.json')
urls.py的翻译:网址.py
在urls.py文件中添加以下行。
# TODO: for jet google_analytics
from jet.dashboard.dashboard_modules import google_analytics_views
仪表盘.py
在项目的根目录下创建一个名为 dashboard.py 的文件,内容如下。
from django.utils.translation import ugettext_lazy as _
from jet.dashboard.dashboard import Dashboard, AppIndexDashboard
from jet.dashboard.dashboard_modules import google_analytics
class CustomIndexDashboard(Dashboard):
columns = 3
def init_with_context(self, context):
self.available_children.append(
google_analytics.GoogleAnalyticsVisitorsTotals)
self.available_children.append(
google_analytics.GoogleAnalyticsVisitorsChart)
self.available_children.append(
google_analytics.GoogleAnalyticsPeriodVisitors)
再次进入settings.py
在 settings.py 中添加使用上述 dashboard.py 类的功能。
# TODO: for jet google_analytics
JET_INDEX_DASHBOARD = 'dashboard.CustomIndexDashboard'
在这里启动管理网站并试试Google Analytics小部件。
Uncaught TypeError: django.jQuery is not a function
JavaScript 出错了。哎呀。在 https://github.com/geex-arts/django-jet/issues/161 上有一个解决方法。因为对话很长,所以只摘录了解决方法部分如下。
将文件jquery.init.js添加到文件夹jet/static/jet/js/build/。
/*global django:true, jQuery:false*/
/* Puts the included jQuery into our own namespace using noConflict and passing
* it 'true'. This ensures that the included jQuery doesn't pollute the global
* namespace (i.e. this preserves pre-existing values for both window.$ and
* window.jQuery).
*/
var django = django || {};
django.jQuery = jQuery.noConflict(true);
在文件中的下一个位置:jet/templates/admin/base.html,在头部添加两行。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="{% static "jet/js/build/jquery.init.js" as url %}{{ url|jet_append_version }}"></script>
这应该能解决你的问题。祝你成功!
按照上述进行修正。
启动管理网站(在Google Analytics小部件应用后)
在wigets > available中选择你在dashboard.py中添加的模块,然后点击“+”进行选择。

请点击 “请附加Google账号” 部分。

点击“授予访问权限”。

由于进入谷歌的身份验证界面,请点击[允许]。

随意选择(可能是GoogleAPI的参数)。

有一个图表出现了。

当查阅”仪表盘自定义文档”时,可以将自制的小组件添加为”自定义仪表盘模块”。
许可证
虽然我关注JavaScript的错误,但它看起来可用,所以我需要AGPLv3和商业许可证。
GNU通用公共许可证第三版
无论什么时候阅读许可证文件我都不明白…
但我大致理解了「如果使用AGPLv3的开源软件,并将其作为开源软件公开,可以免费使用」。
商业许可证
以下是如下的收费体系:
每个项目 65 美元
无限制 199 美元
由于有支持,您可以照顾到上述的js错误问题吗?
看起来它有超过价格的价值。