小编sve*_*ema的帖子

SQLAlchemy 警告应该显式声明文本列表达式吗?

我不断收到此警告,无论如何似乎都无法摆脱它(除了压制它):

C:\...\site-packages\sqlalchemy\sql\elements.py:4390: SAWarning:
Textual column expression 'column_name' should be explicitly declared
with text('column_name'), or use column('column_name') for more
specificity 

if guess_is_literal else "column"
Run Code Online (Sandbox Code Playgroud)

我在一个元数据上下文中构建了一个 Column() 对象(列名 + 数据类型)列表,然后在另一个元数据上下文中使用这个列表创建一个表。虽然这有效,但它确实给出了这个警告。我试过了:

  • 将其存储为“引用名称”
  • 使用 column() 将列转换为“ColumnClause”
  • 使用 text() 将列转换为“TextClause”
  • 使用 str() 将列转换为字符串

无论如何,我仍然收到警告。

以下是 Python 代码的一些片段:

for col_name in self.cols_source:
            print(meta.tables[self.table_name].c[col_name].name)
            print(type(meta.tables[self.table_name].c[col_name].name))          #quotedname
            print(type(column(meta.tables[self.table_name].c[col_name].name)))  #ColumnClause
            print(type(text(meta.tables[self.table_name].c[col_name].name)))    #TextClause
            print(type(str(meta.tables[self.table_name].c[col_name].name)))     #Str

            #source_query_cols.append( Column( name=meta.tables[self.table_name].c[col_name].name, type_=meta.tables[self.table_name].c[col_name].type ))
            #source_query_cols.append( Column( name=column(meta.tables[self.table_name].c[col_name].name), type_=meta.tables[self.table_name].c[col_name].type ))
            #source_query_cols.append( Column( name=text(meta.tables[self.table_name].c[col_name].name), type_=meta.tables[self.table_name].c[col_name].type ))
            source_query_cols.append( Column( name=str(meta.tables[self.table_name].c[col_name].name), type_=meta.tables[self.table_name].c[col_name].type ))
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy python-3.x

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

在 Node 14/Vue2.js 中使用可选链接语法时出现错误(意外令牌)

可选链接在 Node 14.17 上的 Vue.js (v2) 项目中不起作用。

const adventurer = {
  name: 'Alice',
  cat: {
    name: 'Dinah'
  }
};

const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined

console.log(adventurer.someNonExistentMethod?.());
// expected output: undefined
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

 ERROR  Failed to compile with 1 error                                                                                                                                                                                                                                                                              11:04:50
 error  in ./src/components/Thing.vue?vue&type=script&lang=js&

Module parse failed: Unexpected token (497:39)
File was processed with these loaders:
 * ./node_modules/cache-loader/dist/cjs.js
 * ./node_modules/vue-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.  
|             }
|         };
>         const …
Run Code Online (Sandbox Code Playgroud)

javascript optional-chaining vuejs2

9
推荐指数
1
解决办法
3050
查看次数

如何从 Vue-router 历史记录中删除(上一个条目)?

我想删除 Vue-Router 中以前的历史记录条目,这可能吗?该解决方案必须在 Vue-Router 4.x 中工作,最好也能在 3.x 中工作。

我在这里实现的场景是用户执行以下操作:

 pageA -> pageA:edit -> pageB
Run Code Online (Sandbox Code Playgroud)

当在 pageB 上点击“返回”时,我想转到 pageA(常规,非编辑)。

我知道我可以不推送页面A:edit 页面的历史记录,而是简单地进行替换。然而,感觉更自然的是,当返回 A:edit 页面时,您将返回到常规非编辑页面(beforeUpdate 路由防护中已经检查了更改,因此已涵盖)。

vue-router

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

如何在 Inkscape 中“展平”?

我知道Inkscape没有拼合功能。但。我的 svg 文件中有三个对象,我想将它们全部合并为一个。它是对 Material Design Icon 目录的贡献,因此它必须是单路径 SVG。

然而,当我“联合”对象时,两个内部对象变得更薄。如果我“组合”它们,外部对象就会变得更胖。认为它可能与描边和填充有关,但修补这些并不会改变任何东西。

是否有一个函数可以将任何可见的东西转换为一种形状?

在此输入图像描述

胡安乔建议做“描边到路径”,这在尺寸现在保持相同的意义上有效。但之后我无法将背景(填充?)恢复到外环上:

在此输入图像描述

这是原始的 SVG:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   version="1.1"
   width="24"
   height="24"
   viewBox="0 0 24 24"
   id="svg4"
   sodipodi:docname="pentagram-circle-outline.svg"
   inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
  <metadata
     id="metadata10">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title />
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <defs
     id="defs8" />
  <sodipodi:namedview
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1"
     objecttolerance="10"
     gridtolerance="10"
     guidetolerance="10"
     inkscape:pageopacity="0"
     inkscape:pageshadow="2"
     inkscape:window-width="1722"
     inkscape:window-height="999"
     id="namedview6"
     showgrid="false"
     inkscape:zoom="27.812867"
     inkscape:cx="12.701976"
     inkscape:cy="11.744741"
     inkscape:window-x="0"
     inkscape:window-y="0"
     inkscape:window-maximized="0"
     inkscape:current-layer="svg4" />
  <path
     d="M 12 2 C …
Run Code Online (Sandbox Code Playgroud)

svg inkscape

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

安装结果只有一个 .dist-info 文件夹(Pypi Packaging)

我按照https://packaging.python.org/tutorials/packaging-projects/上的说明创建了一个示例包。

但是,在安装时,它只会在 Python 的 site_packages 文件夹中创建一个 testvansjoerd-0.0.2.dist-info 文件夹。因此在做一个错误时给我一个错误import testvansjoerd

示例包:https : //test.pypi.org/project/testvansjoerd/

我安装使用 python -m pip -v install --index-url https://test.pypi.org/simple/ testvansjoerd==0.0.2

日志输出:

Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
Created temporary directory: C:\Users\Sjoerd\AppData\Local\Temp\pip-ephem-wheel-cache-ey0faien
Created temporary directory: C:\Users\Sjoerd\AppData\Local\Temp\pip-req-tracker-ljdapjrw
Created requirements tracker 'C:\\Users\\Sjoerd\\AppData\\Local\\Temp\\pip-req-tracker-ljdapjrw'
Created temporary directory: C:\Users\Sjoerd\AppData\Local\Temp\pip-install-qi420ita
Looking in indexes: https://test.pypi.org/simple/
Collecting testvansjoerd==0.0.2
  1 location(s) to search for versions of testvansjoerd:
  * https://test.pypi.org/simple/testvansjoerd/ …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

5
推荐指数
1
解决办法
1483
查看次数

用另一个对象更新 javascript 对象,但只更新现有的键

是否有一个函数,无论是在 Javascript 还是 Lodash 中,我可以用另一个对象的值“更新”一个对象,但不添加新键

var foo = { 'a': 0, 'b': 1 }
var bar = { 'b': 2, 'c': 3 }
Run Code Online (Sandbox Code Playgroud)

类似于 update(foo, bar),覆盖(“更新”)任何现有的键,但不添加不存在的键:

{ 'a': 0, 'b': 2 }
Run Code Online (Sandbox Code Playgroud)

在 StackOverflow 上几乎肯定有类似的问题,但我找不到它。

javascript

5
推荐指数
1
解决办法
1397
查看次数

如何将绝对 v-overlay 的子 v-card 设置为 100% 高度和宽度?

我有一个 v-dialog,它有一个帮助图标,单击该图标时,会在 v-dialog(父 v-card)框上放置一个 v-overlay 以提供帮助文本。为了将覆盖层仅定位在 v-dialog 上而不是整个应用程序上,我设置了absolute 属性。

<v-dialog v-model="dialog" max-width="500px">
    <v-card>
        <v-overlay absolute :value="olyHelp" opacity="1">
            <v-card @click="olyHelp=false" width="100%" height="100%">
                <p>XXXX</p>
            </v-card>
        </v-overlay>

        <v-card-title class="d-flex justify-space-between">
            <v-btn class="align-baseline" icon small @click="olyHelp=true"><v-icon small>mdi-help</v-icon></v-btn>
        </v-card-title>

        <v-card-text>
           Regular dialog stuff
        </v-card-text>
   </v-card>
</v-dialog>
Run Code Online (Sandbox Code Playgroud)

覆盖层内的 v 卡在覆盖层内居中,宽度和高度将被忽略。我尝试在其上设置所有不同的 css 位置,但我似乎无法让它填充整个覆盖/对话框(父 v 卡)空间。

例子:

在此输入图像描述

我需要让 v-card 填满父 v-card/v-overlay 的整个宽度和高度

css vuetify.js

5
推荐指数
1
解决办法
2677
查看次数

如何更改 Vue PWA 中(Android)导航栏的颜色?

如何为 Vue.JS PWA 应用程序设置 Android 底部导航栏颜色?当我设置 时,顶部地址栏会正确更改颜色themeColor,但导航区域仍保持全白色(#fff)。

在此输入图像描述

我已经尝试过:

在manifest.json中:

{
    "start_url": "/.",
    "display": "standalone",
    "background_color": "#000000",
    "theme_color": "#000000"
}
Run Code Online (Sandbox Code Playgroud)

在 vue.config.js 中:

module.exports = {
    pwa: {
        workboxPluginMode: 'InjectManifest',
        workboxOptions: {
            swSrc: 'public/service-worker.js',
            exclude: [
                /_redirects/,
                /\.map$/, 
                /manifest\.json$/ 
            ],
        },
        start_url: '/.',
        display: 'standalone',
        background_color: '#000000',
        themeColor: '#000000',
        msTileColor: '#000000',
        backgroundColor: '#000000',
        theme_color: '#000000' 
    }
}
Run Code Online (Sandbox Code Playgroud)

类似于如何在 PWA 中更改 Android 导航栏颜色?,除了发帖者改变了他的问题按钮的颜色。

我认为 vue.config.js 中的 PWA 设置会覆盖/覆盖清单。但无论如何,我迄今为止无法设置底部导航区域的颜色。在黑暗模式下有点烦人。

android progressive-web-apps

5
推荐指数
1
解决办法
2810
查看次数

python mainloop,添加定时事件

我有一个基于 D-Bus 事件执行操作的 Python 脚本,其简化版本:

import dbus
from dbus.mainloop.glib import DBusGMainLoop
import gobject

DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()

# Initialize a main loop
mainloop = gobject.MainLoop()
bus.add_signal_receiver(cb_udisk_dev_add, signal_name='DeviceAdded', dbus_interface="org.freedesktop.UDisks")
bus.add_signal_receiver(cb_udisk_dev_rem, signal_name='DeviceRemoved', dbus_interface="org.freedesktop.UDisks")

mainloop.run()
Run Code Online (Sandbox Code Playgroud)

这将调用 cb_udisk_dev_add 和 -rem 回调函数。现在我想要一个定时回调函数,我喜欢调用它,比如每 5 分钟调用一次。

看来 mainloop.run() 是一个被阻止的函数,所以我想我需要向主循环添加一个计时器......?

我尝试实现一些定期执行的函数: Executing periodal actions in Python ,但它们也都是阻塞的,所以 mainloop.run() 不会被执行。

有什么建议么?

python gobject timer

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

在类"主要缺陷"中实现装饰器?

为什么这个装饰策略被认为是坏的?(..或者是它!?)

class User(object):

    def __init__(self):
        self.thing = 5

    def __atomic_rate_change(fn):
        def wrapper(self,*args,**kwargs):
            print "start magic"
            self.thing += 1
            fn(self,*args,**kwargs)
            print "end magic"
        return wrapper

    @__atomic_rate_change
    def foo(self,add):
        print self.__atomic_rate_change # <bound method User.__atomic_rate_change of <__main__.User object at 0x6ffffe1ef50>>
        self.thing += add
        print "normal call {0}".format(self.thing)

test = User()
test.foo(1)
Run Code Online (Sandbox Code Playgroud)

这有效.但是,根据下面的资源,这是不好的做法.理由是:

[...]这种方法存在一个主要缺陷:atomic_rating_change成为User类的实例方法.这没有任何意义.除此之外,它甚至不能作为一种方法:如果你调用它,装饰参数将被用作self.

https://medium.com/@vadimpushtaev/decorator-inside-python-class-1e74d23107f6

我不明白为什么atomic_rate_change是一个实例方法是一个问题/错误/错误.我只是打算在类中使用装饰器.也许在这种情况下它没关系?

python python-2.7 python-decorators

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

这个 Javascript 符号 { e =&gt; e } 表示什么/可以表示什么?

在对 pdf-lib 问题进行故障排除时,我看到了这个,对我来说不熟悉的符号:

{ e => e }
Run Code Online (Sandbox Code Playgroud)
  • 在下面的屏幕截图中,我看到我认为是名为“catalog”的对象的名为“dict”的属性。属性“dict”是地图数据结构。

  • 双括号 [[Entries]] 符号是我认为表示 javascript 内部属性的符号,并且我认为可以将其理解为类似于该map.entries()方法。因此,我希望我在下面看到的是映射条目的输出,即映射的密钥对值。

  • 现在,这就是事情对我来说变得模糊的地方。这张地图的键似乎是数值 0-5,它的值是前面提到的{ e => e}。大括号让人联想到对象和函数,里面似乎有一个箭头函数……?

截屏:

在此处输入图片说明

javascript

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

如何使用 CSS 设置(覆盖)Vuetify v-autocomplete 列表框(结果区域)的高度?

我想增加 Vuetify v-autocomplete 的高度,它固定为 304px(可能是计算值,YMMV)。

<v-autocomplete
    class="flex-grow-0 ml-16 mr-6 largecontent"
    prepend-inner-icon="mdi-magnify"
    v-model="select"
    :items="items"
    item-text="name"
    item-value="id"
    :search-input.sync="search"
    hide-no-data
    label="Search anything (press /)"
>
    <template #item="{ item }">
        <v-list-item to="item.route">
            <v-list-item-content>
                <v-list-item-title v-text="item.name"/>
                <div
                    v-if="item.desc"
                    v-html="item.desc"
                />
            </v-list-item-content>
        </v-list-item>
    </template>
<v-autocomplete/>
Run Code Online (Sandbox Code Playgroud)

这两者都有效,但会将样式应用于所有v-autocomplete,这是我们不想要的:

<style>
    .v-autocomplete__content {
        max-height: 600px !important;
    }
</style>

<style>
    .v_menu__content {
        max-height: 600px !important;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

所以,我想扩大范围

<style scoped>
    .v-autocomplete__content {
        max-height: 600px !important;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

或者向我的全局 css 文件添加一个条目,例如:

.largecontent.v-autocomplete__content  {
  max-height: 600px !important;
}
Run Code Online (Sandbox Code Playgroud)

但似乎没有任何作用,也尝试了 Vuetify 深度选择器,但它们似乎只在存在父子层次结构时才起作用,而这里的情况并非如此。

css css-selectors vue.js vuetify.js

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

SQLAlchemy(核心)NOT IN 子查询

不使用 ORM,如何将 NOT IN 子查询附加到 SELECT 查询?

WHERE id NOT IN ( SELECT id FROM table_X )
Run Code Online (Sandbox Code Playgroud)

使用Python:

s = select([batch_table])
Run Code Online (Sandbox Code Playgroud)

我总是可以恢复到原始 sql,但这将是采取简单的方法;-)。

python sqlalchemy

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