小编osj*_*ick的帖子

Flask-Admin使用SQLAlchemy上下文相关函数创建视图

我有一个具有依赖于其它列的值一列,按照该指令的数据模型,这个页面,我创建了用于确定在创建这个特定列,像这样的值上下文敏感的功能:

def get_column_value_from_context(context):
    # Instructions to produce value

    return value


class MyModel(db.Model):
    id = db.Column(db.Integer,
                   primary_key=True)
    my_column = db.Column(db.String(64),
                          nullable=False,
                          default=get_column_value_from_context)
    name = db.Column(db.String(32),
                     nullable=False,
                     unique=True,
                     index=True)
    title = db.Column(db.String(128),
                      nullable=False)
    description = db.Column(db.String(256),
                            nullable=False)
Run Code Online (Sandbox Code Playgroud)

这种方法非常不错,我可以从命令行或使用脚本创建没有问题的行.

我还ModelView使用Flask-Admin在应用程序中添加了一个:

class MyModelView(ModelView):
    can_view_details = True
    can_set_page_size = True
    can_export = True


admin.add_view(MyModelView(MyModel, db.session))
Run Code Online (Sandbox Code Playgroud)

在我单击列表视图中的" 创建"按钮之前,这也很有效.我收到此错误:

AttributeError:'NoneType'对象没有属性'get_current_parameters'

因为在这里执行create_model处理程序ModelView这样的:

def create_model(self, form):
    """
        Create model from form.
        :param form:
            Form instance
    """ …
Run Code Online (Sandbox Code Playgroud)

python flask flask-sqlalchemy flask-admin

13
推荐指数
1
解决办法
524
查看次数

编辑视图中的只读表单字段 - Flask-Admin

我尝试将表单字段设置readonly为Flask-Admin应用程序中的编辑视图.根据这个问题的答案,我知道如果我有这个

class MyView(ModelView):
    form_widget_args = {
        'title': {
            'readonly': True
        }
    }
Run Code Online (Sandbox Code Playgroud)

我可以将表单字段设置为readonly,但这适用于创建编辑视图.如何仅将参数应用于编辑视图?

python flask flask-sqlalchemy flask-admin

12
推荐指数
2
解决办法
1197
查看次数

Python指令中预期的类型'Union [ndarray,Iterable]'警告

我已经翻译了一个Matlab函数来创建一个Overcomplete Discrete Cosine Transform矩阵来表示这种矢量空间中的1D信号到Python语言.

Matlab函数

function D = odctdict(n,L)
%ODCTDICT Overcomplete DCT dictionary.
%  D = ODCTDICT(N,L) returns the overcomplete DCT dictionary of size NxL
%  for signals of length N.
%
%  See also ODCT2DICT, ODCT3DICT, ODCTNDICT.    

D = zeros(n,L);
D(:,1) = 1/sqrt(n);
for k = 2:L
  v = cos((0:n-1)*pi*(k-1)/L)';
  v = v-mean(v);
  D(:,k) = v/norm(v);
end
Run Code Online (Sandbox Code Playgroud)

Python翻译功能

import numpy as np


def odct1dict(n, l):
    """
    1-D Overcomplete DCT dictionary.

    D = odct1dict(N, L) returns the overcomplete DCT dictionary …
Run Code Online (Sandbox Code Playgroud)

python warnings numpy translate pycharm

5
推荐指数
2
解决办法
6569
查看次数

Pygsheets无法在www.googleapis.com上找到服务器

我正在尝试pygsheets在ScrapingHub的脚本中使用。pygsheets脚本的一部分开始于:

google_client = pygsheets.authorize(service_file=CREDENTIALS_FILENAME, no_cache=True)
spreadsheet = google_client.open_by_key(SHEET_ID)
Run Code Online (Sandbox Code Playgroud)

CREDENTIALS_FILENAME我的Google服务帐户凭据文件名在哪里SHEET_ID,电子表格ID 在哪里?在某些时候,这正在发生:

2018-01-30 16:27:36 INFO [stdout] service_email : *******@**********.iam.gserviceaccount.com
2018-01-30 16:27:36 INFO [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/drive/v3/files?corpora=user&pageSize=500&fields=files%28id%2C+name%29&q=mimeType%3D%27application%2Fvnd.google-apps.spreadsheet%27&supportsTeamDrives=false&includeTeamDriveItems=false&alt=json
2018-01-30 16:27:36 INFO [oauth2client.transport] Attempting refresh to obtain initial access_token
2018-01-30 16:27:36 INFO [oauth2client.client] Refreshing access_token
2018-01-30 16:31:50 ERROR [root] Job runtime exception
Traceback (most recent call last):
  File "/app/python/lib/python3.6/site-packages/httplib2/__init__.py", line 995, in _conn_request
    conn.connect()
  File "/usr/local/lib/python3.6/http/client.py", line 1392, in connect
    super().connect()
  File "/usr/local/lib/python3.6/http/client.py", line 936, in …
Run Code Online (Sandbox Code Playgroud)

python google-sheets scrapinghub google-sheets-api pygsheets

5
推荐指数
0
解决办法
677
查看次数

如何在 Python 中解析带有编码声明的 XML 文件?

我有这个 XML 文件,名为xmltest.xml

<?xml version="1.0" encoding="GBK"?>
<productMeta>
    <bands>1,2,3,4</bands>
    <imageName>TestName.tif</imageName>  
    <browseName>TestName.jpg</browseName>
</productMeta>
Run Code Online (Sandbox Code Playgroud)

我有这个 Python 虚拟代码:

import xml.etree.ElementTree as ET
xmldoc = ET.parse('xmltest.xml')
Run Code Online (Sandbox Code Playgroud)

但它提出了一个ValueError

ValueError:不支持多字节编码

我理解这个错误,它引发的原因是 XML 文件第一行中的编码声明。XML 文件采用 UTF-8 编码,但始终具有该声明(我不是要分析的 XML 文件的创建者)。在解析前一个 XML 文件时,如何避免这种编码声明?

python xml encoding

3
推荐指数
1
解决办法
2万
查看次数