Monthly Archive: February, 2019

Uncaught Error: Unknown field state in domain

错误信息

Uncaught Error: Unknown field state in domain
http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:376
追溯:
Error: Unknown field state in domain
    at Class.compute (http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:376:55)
    at evalModifier (http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:1382:91)
    at Class._evalModifiers (http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:1385:44)
    at Class._registerModifiers (http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:1557:101)
    at Class._renderBodyCell (http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:1921:58)
    at http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:1940:132
    at Function._.map._.collect (http://actt.test.cn:8030/web/content/702-de21336/web.assets_common.js:13:270)
    at Class._renderRow [as _super] (http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:1940:82)
    at Class._renderRow (http://actt.test.cn:8030/web/content/986-6511bf3/web.assets_backend.js:1881:71)
    at Class.<anonymous> (http://actt.test.cn:8030/web/content/702-de21336/web.assets_common.js:3540:371)

准备工作

  1. 开打 Debug=assets模式
  2. 打开浏览器Debug模式

查看Console信息

错误信息

错误处理

查看错误的信息,打上断点

重新执行操作

这里可以看到67行代码中会执行一个表达式,通过this._data[0]去比较values中的值,这里再查看values的数据是什么

继续往上跟踪

发现在渲染行的时候也没有这个字段,那么问题基本可以定位了,我们没有在tree视图中添加我们需要的state字段。

继续查看我们的VIEW视图文件。

果然没有,增加上去!

重新启动、更新模块

问题解决!

SQL Between 边界问题

扩展知识

BETWEEN操作符是选取介于两个值之间的数据。这些值可以是数值、文本或者日期。

然而在使用between and限定日期的时候,特别需要注意,在and后的日期是到天的,那么默认为00:00:00。对于大于00:00:00这样的数据是会排除在外的。

这时候就需要将数据进行to_char处理。或者使用>= and <=这样的操作符进行处理。

Python Django Vue PostgreSQL搭建前后端分离项目

准备工作

npm install -g webpack
npm install -g @vue/cli
npm install -g @vue/cli-service-global

创建Django项目

django-admin startproject ServerList

创建成功后的目录如下

.
├── manage.py
└── pc_admin
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

进入项目根目录,创建一个APP作为项目后端

cd ServerList
python manage.py startapp backend //backend乃App名称

成功后目录如下

.
├── backend
│   ├── __init__.py
│   ├── admin.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── manage.py
└── ServerList
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

创建前端项目

使用vue-cli在根目录创建一个frontend的Vue.js项目作为项目前端。

# 创建项目
vue create frontend

# Project setup
npm install

# Compiles and hot-reloads for development
npm run serve

# Compiles and minifies for production
npm run build

# Run your tests
npm run test

# Lints and fixes files
npm run lint

如果你确实不想使用命令行来处理这些事情,那么你可以使用Vue提供的图形化界面来创建和管理项目。

vue ui
Vue UI

配置数据源及前端模板

# 数据库设定
DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'odam',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': '127.0.0.1',
        'PORT': '5432'
    }
}
# 模版设定
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        # 'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'DIRS': ['frontend/dist'],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

# Add for Vue.js
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "frontend/dist/static"),
]

结束

python manage.py runserver

浏览器扩展之用户脚本

用户脚本是什么?

用户脚本是一段代码,它们能够优化您的网页浏览体验。安装之后,有些脚本能为网站添加新的功能,有些能使网站的界面更加易用,有些则能隐藏网站上烦人的部分内容。

吐槽

百度这个东西啊,不用呢,貌似谷歌又要翻墙。用呢,搜索不到好用的!

之前一直也用过油猴,但不是很简洁,今天突然发现一个扩展工具-暴力猴。界面简介清爽,也支持https://greasyfork.org/zh-CN/的脚本。

暴力猴是什么

简单来说,暴力猴就是一个Chrome上面的用户脚本管理器。它是一个开源的用户脚本管理器。

哪里能找到需要的脚本

Archives