我试图用定义的字段名称而不是别名返回我的模型。
class FooModel(BaseModel):
foo: str = Field(..., alias="bar")
@app.get("/") -> FooModel:
return FooModel(**{"bar": "baz"})
Run Code Online (Sandbox Code Playgroud)
{"bar": "baz"}当我想要的时候就会得到回应{"foo": "baz"}。我知道使用dict模型的方法时这在某种程度上是可能的,但感觉不对并且会扰乱请求处理程序的输入。
@app.get("/") -> FooModel:
return FooModel(**{"bar": "baz"}).dict(by_alias=False)
Run Code Online (Sandbox Code Playgroud)
我觉得应该可以在配置类中设置它,但我找不到正确的选项。
我正在将 Flask 与 HTML 和 CSS 结合使用。当这可能时:
<img src="{{ url_for('static', filename='images/planets.jpeg' ) }}">
Run Code Online (Sandbox Code Playgroud)
我必须在这里写什么来处理相同的图像?
.bgimg-1 {
background-image: url('https://i.ytimg.com/vi/J9QOB6hSI-c/maxresdefault.jpg');
min-height: 100%; }
Run Code Online (Sandbox Code Playgroud)
解决方案应与此类似:
.bgimg-1 {
background-image: url('{{ url_for('static', filename='images/planets.jpeg' ) }}');
min-height: 100%; }
Run Code Online (Sandbox Code Playgroud)
谢谢你。
我想将 CSS 框架 Bulma 与 LitElement 一起使用。我知道我可以使用外部样式表但是,他们表示这样做是不好的做法。我也有一个问题,我必须将它导入到每个元素中,这感觉不对。
因此,我将整个 Bulma 文件内容复制到 js 模块中,但导入后样式未应用。
import { css } from 'lit-element'
export default css`
@-webkit-keyframes spinAround {
from {
transform: rotate(0deg);
}
...
Run Code Online (Sandbox Code Playgroud)
将样式导入为链接标记是可行的,但如上所述是不好的做法。
import { LitElement, html, css } from 'lit-element'
import './src/table.js'
import styles from './styles.js'
class LitApp extends LitElement {
constructor() {
super()
this.tHeader = ['status', 'name', 'alias']
this.data = [
['connect', 'john', 'jdoe'],
['disconnect', 'carol', 'carbon'],
['disconnect', 'mike', 'mkan'],
['disconnect', 'tina', 'tiba'],
]
}
static get styles() …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 css 网格设置页面布局。我正在使用scss。当我想使用 scss 变量时grid-template,布局会中断。
$page-header-height: 3rem;
$content-header-height: 6rem;
$content-menu-width: 10rem;
// if i try to use these, the layout breaks
$content-foot-height: 4rem;
$page-sidebar-width: 4rem;
body {
height: 100vh;
display: grid;
grid-template:
'sidebar header header' $page-header-height
'sidebar menu mainHead' $content-header-height
'sidebar menu main' 1fr
// here should be foot height / sidebar width
'sidebar menu mainFoot' 4rem / 4rem $content-menu-width; // < problem
> * {
border: thin groove gray;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么使用具有完全相同值的变量时布局会中断?除此之外,所有其他变量都起作用。
这是代码,您可以插入变量并查看它是否损坏。
我在我的旧笔记本电脑上设置了一个项目,并在本地安装了 Postgresql,并使用 Poetry 作为包管理器。现在我搬到另一台笔记本电脑上。在这一项上,我想使用 Docker 中的 Postgres,所以我没有安装它。但是当我运行poetry install从文件设置项目时poetry.lock,它无法安装 Psycopg2 并出现错误:
Error: pg_config executable not found.
Run Code Online (Sandbox Code Playgroud)
据我搜索,它需要在本地安装 Postgres。那么,如何使用 Docker 中的 Postgres 从锁定文件安装 Psycopg2?
您好,我正在尝试在 docker 容器中设置flask-socketio。它似乎可以运行,但是当我尝试访问端口 5000 上的 localhost 时出现错误(来自浏览器),就像我习惯使用 Flask 应用程序一样。它说:无法连接!
我将向您展示 5 个重要文件:Dockerfile、requirements.txt、docker-compose.yml、web_app.py 和 index.html
Dockerfile:
FROM python:3.6.5
WORKDIR /code
COPY * /code/
RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
要求.txt:
Flask==1.0.2
Flask-SocketIO==3.0.1
eventlet==0.24.1
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml:
version: "3"
services:
web:
build: ./web
ports:
- '5000:5000'
volumes:
- './web:/code'
Run Code Online (Sandbox Code Playgroud)
我使用命令 docker-compose up --build和docker-compose run web /bin/bash以交互模式进入这个容器。
web_app.py:
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('my …Run Code Online (Sandbox Code Playgroud) 我需要帮助理解这个错误。该代码适用于 sqlite。看起来?sql 包甚至没有在那里放置值,而是按原样发送问号。我可以毫无问题地运行其他选择语句,因此这不是连接问题或类似问题。
错误:“?”附近的语法不正确
func TestSQLServerInsert(t *testing.T) {
db, err := sql.Open("sqlserver", "my_trusted_string")
//db, err := sql.Open("sqlite3", "../data/utm_info.db")
if err != nil {
t.Errorf("could not open database: %v", err)
}
defer db.Close()
c := controller.NewC(db)
u := controller.UtilizationResponse{
Snapshot: []int{46, 22, 4, 4, 5, 3, 0, 8, 49},
History: []float32{55.1, 47.2, 0.3, 33.4, 23.5},
Time: time.Now(),
}
affectedRows, err := c.InsertUtil(u)
if err != nil {
t.Errorf("could not insert into db: %v", err)
}
var count int64 …Run Code Online (Sandbox Code Playgroud) 我尝试发送 HTML,但在将内容键处的值作为多行字符串写入时出现错误。其有效语法是什么?
var data = {
"subject":"Test",
"content": "{<body><br><br><table style='text-align: left; border: 10px solid
#f5f5f5;padding:36px;margin:0px auto;background-color: #fff;'
class='maincontainer' cellspacing='0 cellpadding='0'>}"
};
Run Code Online (Sandbox Code Playgroud)
但显示错误,如何纠正?
我对标题Location和感到困惑Content-Location。
关于我在规范Content-Location中找到了这个声明。(强调我的)
\n\n对于像 PUT(第 4.3.4 节)或 POST(第 4.3.3 节)这样的状态更改请求,它意味着服务器的响应包含该资源的新表示,从而将其与可能仅报告有关内容的表示区分开来。动作(例如,“成功了!”)。这允许创作应用程序更新其本地副本,而无需后续 GET 请求。
\n
然而,在 mdn 文档中有一个显示相反行为的示例。(强调我的)
\n\n\n该网站返回一条通用的成功消息,确认该帖子已发布。服务器通过 Content-Location 指定新帖子的位置:
\nRun Code Online (Sandbox Code Playgroud)\nHTTP/1.1 201 Created\nContent-Type: text/plain; charset=utf-8\nContent-Location: /my-first-blog-post\n\n\xe2\x9c\x85 Success!\n
这两种说法似乎互相矛盾。
\n现在,我不确定在响应中不包含真实实体的情况下是否应该使用 Content-Location 。
\n规范中有一个关于标题的句子Location。
\n\n对于 201(已创建)响应,位置值是指请求创建的主要资源。
\n
mdn 也是这么说的。
\n\n\n …在创建资源的情况下,它指示新创建的资源的 URL。
\n
我正在尝试使用自定义响应类作为默认响应。
from fastapi.responses import Response
from bson.json_util import dumps
class MongoResponse(Response):
def __init__(self, content, *args, **kwargs):
super().__init__(
content=dumps(content),
media_type="application/json",
*args,
**kwargs,
)
Run Code Online (Sandbox Code Playgroud)
当我明确使用响应类时,这工作得很好。
@app.get("/")
async def getDoc():
foo = client.get_database('foo')
result = await foo.bar.find_one({'author': 'fool'})
return MongoResponse(result)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将其作为参数传递给 FastAPI 构造函数时,仅在从请求处理程序返回数据时似乎不会使用它。
app = FastAPI(default_response_class=MongoResponse)
@app.get("/")
async def getDoc():
foo = client.get_database('foo')
result = await foo.bar.find_one({'author': 'fool'})
return result
Run Code Online (Sandbox Code Playgroud)
当我查看下面的堆栈跟踪时,它似乎仍在使用正常的默认响应,即json response。
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/home/blue/podman/test/.venv/lib/python3.6/site-packages/uvicorn/protocols/http/httptools_impl.py", line 390, in run_asgi
result …Run Code Online (Sandbox Code Playgroud) 我需要锚元素的边界客户端矩形。
我标记使用 bind:this={someVariable}
但是当我将该代码添加到 svelte 组件时,我会得到一些其他对象 svelte 用于表示组件。
我可以从该绑定访问封闭的元素或类似的东西吗?或者我是否必须用牺牲品包裹每个组件<div />并绑定它?
python ×4
javascript ×3
css ×2
docker ×2
fastapi ×2
flask ×2
html ×2
eventlet ×1
go ×1
http ×1
jinja2 ×1
lit-element ×1
polymer ×1
postgresql ×1
psycopg2 ×1
pydantic ×1
python-3.x ×1
rest ×1
sass ×1
sql-server ×1
svelte ×1