目前我像这样使用了 DTO(数据传输对象)。
class Test1:
def __init__(self,
user_id: int = None,
body: str = None):
self.user_id = user_id
self.body = body
Run Code Online (Sandbox Code Playgroud)
示例代码很小,但是当对象规模越来越大时,我必须定义每个变量。
在深入研究的同时,发现python 3.7支持 dataclass
下面的代码是 DTO 使用的数据类。
from dataclasses import dataclass
@dataclass
class Test2:
user_id: int
body: str
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如何允许传递更多未定义为的参数class Test2?
如果我使用Test1,这很容易。只需添加**kwargs(asterisk)到__init__
class Test1:
def __init__(self,
user_id: int = None,
body: str = None,
**kwargs):
self.user_id = user_id
self.body = body
Run Code Online (Sandbox Code Playgroud)
但是使用数据类,找不到任何方法来实现它。
这里有什么解决办法吗?
谢谢。
编辑
class Test1:
def __init__(self,
user_id: str = None,
body: …Run Code Online (Sandbox Code Playgroud) 我想将 FontAwesome 图标添加到输入占位符。
所以我试着写这样的代码。
[html]
<input type="text" placeholder=""/>
[CSS]
font-family:'Font Awesome 5 Brands' !important
它工作正常。Youtube 图标位于输入标签中。
但是当我将搜索图标(placeholder="")添加到占位符时,它无法正常工作。
我的代码有什么问题?
字体很棒的备忘单在这里 -> https://fontawesome.com/cheatsheet
谢谢。
有没有办法在滚动时动态更改背景颜色?
例如,参考这个网站(https://www.samsung.com/sec/smartphones/galaxy-note9/)
当您第一次访问该站点时,背景颜色为蓝色。
向下滚动时,它的颜色平滑地变为黑色。
另见本站( codepen.io/Funsella/pen/yLfAG/)
第二个站点与第一个相同。但它的颜色一下子就变了。
但是第一个站点的颜色不会立即改变。
它随着滚动位置逐渐改变。
body {
height: 100vh;
}
.section1 {
background-color: white;
height: 100%;
}
.section2 {
background: linear-gradient(#f05fa6, #ed1654);
height: 100%;
}Run Code Online (Sandbox Code Playgroud)
<html>
<body>
<section class="section1">
SECTION1
</section>
<section class="section2">
SECTION2
</section>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
上面的代码是我正在处理的。
当前它的颜色被每个部分分开。
当我向下滚动时,我想改变颜色background-color: white->background: linear-gradient(#f05fa6, #ed1654)
有什么解决办法吗?
我想在键盘上方做"完成"按钮.
当我点击"完成"时,键盘将被隐藏.
是否存在任何库或方法?
谢谢.
(我已经找到了一些库 - > https://www.npmjs.com/package/react-native-keyboard-done-button但它不起作用)
我正在使用Node.js和Express制作API Server。
我也为身份验证用户使用了JWT令牌身份验证。
如果令牌已过期,那么我的情况就在这里。
(Backend) Middleware detect expired
(Frontend) Receive token is expired
(Fronend) Refresh token request to backend
(Backend) Verify token is valid and if it expired, sign new token(with old token's payload) and response it to frontend
在4号,我的代码在这里。
try {
const token = req.headers.authorization.split(' ')[1];
jwt.verify(token, SECRET, (err, decoded) => {
if(err.name === 'TokenExpiredError') {
const payload = jwt.verify(token, SECRET);
const userid = payload.userid;
const is_admin = payload.is_admin;
const refreshToken = jwt.sign({
userid: userid,
is_admin: is_admin
}, SECRET, …Run Code Online (Sandbox Code Playgroud) 我用 Node.js 制作了 API 服务器。
我还使用sequelize(版本4)与MySQL 进行通信。
我的数据库结构是简单的遵循系统。
[模型.js]
export const User = sequelize.define('user', {
no: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
userid: {
type: Sequelize.STRING,
allowNull: false,
unique: true
},
userpw: {
type: Sequelize.STRING,
allowNull: false
}
}, {
freezeTableName: true,
underscored: true
})
Run Code Online (Sandbox Code Playgroud)
听说如果没有选项的话targetKey,会自动引用主键。
但如果targetKey存在,请参阅该专栏。
所以我这样定义关联。
User.belongsToMany(User, { as: 'follower', through: 'follow', foreignKey: 'follower_id', targetKey: 'userid'});
User.belongsToMany(User, { as: 'following', through: 'follow', foreignKey: 'following_id', targetKey: 'userid'});
Run Code Online (Sandbox Code Playgroud)
我想参考用户的userid. 但我运行后,它仍然引用no(PK). …
我用python flask-restful制作了api服务器.
我的系统使用令牌身份验证来验证权限.
所以,我添加了用于验证令牌的中间件.
例如,像这样的代码,
[middleware.py]
class Test(object):
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
print("gogo")
return self.app(environ, start_response)
Run Code Online (Sandbox Code Playgroud)
[app.py]
from flask import Flask
from flask_restful import Api
from api.board import Article
from api.auth import Login, Register, RefreshToken
from middleware import Test
app = Flask(__name__)
api = Api(app)
api.add_resource(Login, '/login')
api.add_resource(Register, '/register')
api.add_resource(RefreshToken, '/refresh')
# middleware here
app.wsgi_app = Test(app.wsgi_app)
api.add_resource(Article, '/article')
if __name__ == '__main__':
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
我app.wsgi_app = Test(app.wsgi_app)之前/文章插入.
所以我希望只有访问/article才会打印"gogo",
但每条路线都打印"gogo".
也许每条路线都通过中间件. …
我想捕获特定的异常,例如UniqueViolationsqlalchemy 上的异常。
但 sqlalchemy 仅通过IntegrityError.
所以我用下面的代码捕获了特定的异常。
except sqlalchemy.exc.IntegrityError as e:
from psycopg2 import errors
if isinstance(e.orig, errors.UniqueViolation):
pass
elif isinstance(e.orig, errors.ForeignKeyViolation):
pass
Run Code Online (Sandbox Code Playgroud)
但看起来并不优雅。
我不想使用 if 语句只是捕获特定的异常名称。
有什么办法可以解决这个问题吗?
谢谢。
我用graphql-yoga制作了 API 服务器。(一个 nodejs 库)
在搜索谷歌之前,我只是使用这样的查询/变异。
Query: {
movies: () => { return Movies.all();}
}
Run Code Online (Sandbox Code Playgroud)
但是在搜索之后,我发现了一些在查询/突变上使用 await/async 的代码。
Query: {
movies: async () => { return await Movies.all(); }
}
Run Code Online (Sandbox Code Playgroud)
据我所知,第二种情况更安全,更好。
但我是 graphql 和 es6 的新手。
graphql 中是否已经定义了任何与 async/await 相关的进程?
或者,不必考虑一下?
或者,使用 async/await 更好?
任何建议,将不胜感激 :)
谢谢。
我用graphql制作了简单的board api系统。
我使用 sequelize(version 4) 连接到数据库。
[schema.graphql]
type Article {
article_no: Int!
subject: String!
content: String!
createdAt: String!
updatedAt: String!
comment: String
}
type Comment {
article_no: Int!
content: String!,
createdAt: String!
}
type Query {
articles: [Article]!
article(article_no: Int!): Article
comments: [Comment]!
comment(article_no: Int!): Comment
}
type Mutation {
createArticle(subject: String!, content: String!, password: String!): Boolean!
createComment(article_no: Int!, content: String!, password: String!): Boolean!
}
Run Code Online (Sandbox Code Playgroud)
[解析器.js]
import { Article, Comment } from './db';
const resolvers = {
Query: {
articles: …Run Code Online (Sandbox Code Playgroud) node.js ×3
python ×3
css ×2
graphql ×2
sequelize.js ×2
async-await ×1
dom-events ×1
flask ×1
font-awesome ×1
javascript ×1
jwt ×1
python-3.7 ×1
react-native ×1
sqlalchemy ×1