我正在使用 Vuetify 创建一个简单的表单,其中数据由与每个字段关联的一些规则进行验证。如果任何这些验证规则失败,我想要做的是禁用提交按钮。我怎么能这样做?我想了解的是如何检查每个规则的状态,以便我可以绑定disabled
按钮上的属性。
<template>
<v-card>
<v-card-text>
<v-combobox
v-model="addTool.name"
:rules="rules.name"
:items="toolNames"
counter
label="Name of the tool"
></v-combobox>
<v-combobox
multiple
:small-chips="true"
:deletable-chips="true"
:hide-selected="true"
:clearable="true"
v-model="addTool.categories"
:rules="rules.categories"
label="Select/Add categories"
:items="this.toolCategories"
:search-input.sync="searchCat"
@change="searchCat = ''"
></v-combobox>
<v-text-field
v-model="addTool.site"
label="URL for the tool. It is best to use a Github repo link."
:rules="rules.site"
></v-text-field>
</v-card-text>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn @click="submit" color="grey darken-4" class="green--text text--accent-2" dark>Add</v-btn>
</v-card-actions>
</v-card>
</template>
<script>
export default {
data() {
return {
dialog: false,
searchCat: "",
addToolMessage: undefined,
addTool: { …
Run Code Online (Sandbox Code Playgroud) 这确实是一个由两部分组成的问题,但它们的脉络相同,所以我会在一个帖子中提问。
当我翻阅各种颜色时,我发现它们也有改变Output
窗口颜色的能力。我可以使用哪个 VS Code 设置来更改此输出的颜色?具体来说,我不是在询问终端,我是在询问使用 coderunner 作为示例时显示输出的输出窗口。请参阅屏幕截图以查看我指的是哪个窗口。
第二个问题是我可以看到输出确实支持多种颜色。我正在尝试使用cpprint
python lib 中的模块将prettyprinter
彩色输出打印到此窗口。当我在终端中运行脚本时,我得到了颜色,但在输出窗口中,我没有得到任何颜色。我有可能在输出窗口中获得与终端中类似的彩色输出吗?我假设输出窗口支持颜色,因为[Running]...
和 end 是彩色的。
谢谢!
我在 Github Actions 中使用缓存的 pip 时遇到了一些问题。我的工作流程设置是
name: tests
on: [push, pull_request]
jobs:
linux:
runs-on: ubuntu-18.04
strategy:
max-parallel: 4
matrix:
python-version: [3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install
if: steps.cache.outputs.cache-hit != 'true'
run: |
pip install pytest pytest-cov bandit sphinx recommonmark
python -m pip install --upgrade …
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置日志记录,我可以在其中登录stdout并登录到文件。我使用以下代码完成了此任务:
logging.basicConfig(
level=logging.DEBUG, format='%(asctime)-15s %(levelname)-8s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S', handlers=[logging.FileHandler(path), logging.StreamHandler()])
Run Code Online (Sandbox Code Playgroud)
这样的输出如下:
2018-05-02 18:43:33,295 DEBUG Starting new HTTPS connection (1): google.com
2018-05-02 18:43:33,385 DEBUG https://google.com:443 "GET / HTTP/1.1" 301 220
2018-05-02 18:43:33,389 DEBUG Starting new HTTPS connection (1): www.google.com
2018-05-02 18:43:33,490 DEBUG https://www.google.com:443 "GET / HTTP/1.1" 200 None
Run Code Online (Sandbox Code Playgroud)
我要完成的工作是将此输出记录到文件中,而不是像打印到stdout那样,而是作为类似于此类的字典或JSON对象(同时保持当前的stdout):
[{'time': '2018-05-02 18:43:33,295', 'level': 'DEBUG', 'message': 'Starting new HTTPS connection (1): google.com'}, {...}, {...}]
这可行吗?我知道我可以在过程完成后发布此日志文件,但是我正在寻找一种更优雅的解决方案,因为我正在记录的某些内容本身就是很大的对象。
我知道 Sphinx 支持 markdown 或 .md 文件(可选),这对我的补充文档非常有用。我想做的是在 Markdown 文件中使用autoclass
或标签。automodule
通常,在一个.rst
文件中,如果我这样做
.. autoclass:: my.module.SomeClass
:members:
Run Code Online (Sandbox Code Playgroud)
它将自动提取所有文档字符串并创建文档。可以在.md
文件中使用它吗?目前,当我尝试这样做时,生成的文档仅包含.. autoclass:...
预期的内容。
我的conf.py
是
.. autoclass:: my.module.SomeClass
:members:
Run Code Online (Sandbox Code Playgroud)
由于阅读文档的兼容性,我确实考虑了 mkdocs,但它不提供类似 autodoc 的功能。为了实现这一目标,我对任何其他库都非常开放(不必与 RTD 兼容)。
我明白我在这里问的可能不是最好的代码设计,但我问的原因是严格的学术。我试图了解如何使这个概念发挥作用。
通常,我将从self
类方法返回,以便可以将以下方法链接在一起。我的理解是通过返回 self,我只是返回类的一个实例,以便处理以下方法。
但在这种情况下,我试图弄清楚如何self
从该方法中返回两个值和另一个值。这个想法是如果我不想链接,或者我不调用任何类属性,我想从被调用的方法中检索数据。
考虑这个例子:
class Test(object):
def __init__(self):
self.hold = None
def methoda(self):
self.hold = 'lol'
return self, 'lol'
def newmethod(self):
self.hold = self.hold * 2
return self, 2
t = Test()
t.methoda().newmethod()
print(t.hold)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我将得到一个AttributeError: 'tuple' object has no attribute 'newmethod'
预期,因为该methoda
方法返回一个没有任何方法或属性的元组称为newmethod
。
我的问题不是关于解包多个返回,而是更多关于当前面的方法返回多个值时如何继续链接方法。我也明白我可以通过一个参数来控制方法返回,但这不是我想要做的。
如前所述,我确实意识到这可能是一个糟糕的问题,如果问题没有任何意义,我很乐意删除该帖子。
我正在尝试使用 tarfile 在内存中添加一个文件,然后将其写回磁盘,但我遇到的问题是,在我的最终输出中,当我提取新创建的 tar.gz 文件时,我得到一个空文件。我的代码做错了什么?
import tarfile
import io
with open('logo.png', 'rb') as f:
data = f.read()
fh = io.BytesIO()
with tarfile.open(fileobj=fh, mode='w:gz') as tar:
info = tarfile.TarInfo('some.png')
tar.addfile(info, data)
with open('/tmp/test/test.tar.gz', 'wb') as f:
f.write(fh.getvalue())
Run Code Online (Sandbox Code Playgroud)
我也尝试这样做tar.addfile(info, fh.write(data))
,但这只会创建一个损坏的 tar 文件。
我正在尝试使用模型的任意键名称来模拟与打字稿接口类似的行为pydantic
,但遇到了一些问题。
在 TS 中考虑以下内容:
export interface SNSMessageAttributes {
[name: string]: SNSMessageAttribute;
}
Run Code Online (Sandbox Code Playgroud)
在 pydantic 中可以实现这一点吗?
这是我的Python示例代码:
export interface SNSMessageAttributes {
[name: string]: SNSMessageAttribute;
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,属性ArbitraryKey
可以是任何内容。但我不可能对所有可能的键名称进行硬编码。例如,如果ArbitraryKey
键名不是 ,怎么办SomeTestKey
?
我知道我可以使用extra = 'allow
in Config
,但这不会给出使用时可以获得的点语法parse_obj_as
我的问题是,如果可能的话,我可以对属性名称执行类似于[name: string]
pydantic 的操作吗?
我正在关注一些使用 Vue 项目的项目vue init webpack test
,但似乎在运行时npm run dev
,#/
所有 url都会附加一个。
当我创建一个新组件并路由到它时也是如此。如果我做类似的事情http://localhost:8080/newpath
,它就会变成http://localhost:8080/newpath#/
.
是否有我可以设置的配置变量,以便#/
不附加到每个 URL?使用正则表达式在每个 URL 上删除它似乎非常笨拙。
我不包括任何实际的源代码,因为它来自 vue init 创建的 HelloWorld 应用程序。
我正在使用 vue cli 3 的最新版本。
编辑更改标题,以便对其他人有所帮助
我正在尝试使用他们的 api 使用 Axios将图像上传到imgbb,但不断收到错误响应Empty upload source
。
imgbb 的 API 文档显示了以下示例:
curl --location --request POST "https://api.imgbb.com/1/upload?key=YOUR_CLIENT_API_KEY" --form "image=R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
Run Code Online (Sandbox Code Playgroud)
我复制这个的节点代码是:
const fs = require('fs')
const FormData = require('form-data')
const Axios = require('axios').default
let file = '/tmp/the-test.png'
let url = 'https://api.imgbb.com/1/upload?key=myapikey'
var bodyData = new FormData();
let b = fs.readFileSync(file, {encoding: 'base64'})
bodyData.append('image', b)
Axios({
method: 'post',
url: 'url',
headers: {'Content-Type': 'multipart/form-data' },
data: {
image: bodyData
}
}).then((resolve) => {
console.log(resolve.data);
}).catch(error => console.log(error.response.data));
Run Code Online (Sandbox Code Playgroud)
但我不断收到以下错误响应..
{ …
Run Code Online (Sandbox Code Playgroud)