使用 Flask-Script 时,导入 Manager 时出现错误。
我已经安装了 pip Flask 和 Flask-Script。我该如何解决?
管理文件
from flask_script import Manager
from main import app
manager = Manager(app)
@manager.command
def hello():
print ("hello")
if __name__ == "__main__":
manager.run()
Run Code Online (Sandbox Code Playgroud)
主文件
from flask import Flask
app = Flask(__name__)
Run Code Online (Sandbox Code Playgroud)
错误
from flask_script import Manager
from main import app
manager = Manager(app)
@manager.command
def hello():
print ("hello")
if __name__ == "__main__":
manager.run()
Run Code Online (Sandbox Code Playgroud) Vue3无法在父组件中调用子组件方法
在Vue2中,我可以像这样调用子组件方法
this.$root.$refs.ChildComponent.methodName()
Run Code Online (Sandbox Code Playgroud)
但是在Vue3中,我收到这样的错误
runtime-core.esm-bundler.js:218 Uncaught TypeError: Cannot read properties of undefined (reading 'methodName')
Run Code Online (Sandbox Code Playgroud) 在每次调用后端之前,我过去常常Auth.currentAuthenticatedUser()获取idToken.jwtToken它并将其在我的请求标头中传递给后端服务器以获取数据。
在我的用例中使用Auth.currentSession()而不是使用有区别Auth.currentAuthenticatedUser()吗?Auth.currentAuthenticatedUser()令牌过期后是否刷新令牌,类似于Auth.currentSession()?
我正在为 VSCode 编写一个扩展。在 WebviewPanel 中,我需要显示来自文件图标主题的文件扩展名图标。有没有从文件图标主题中获取图标的功能?
我已将 Binance API 集成到我的项目中,以显示所有支持的交易品种及其相应图标的列表。但是,我无法获取符号name/description。
例如,我可以获取 BTC-EUR,但无法通过公共端点获取“比特币”或类似内容。至少,到目前为止我还没有找到终点。
目前,我正在使用 的专用端点(位于身份验证后面)/sapi/v1/margin/allAssets。这会返回每个符号的 ,但正如你可以想象的那样,我想阻止在获取信息name/description时使用私有 API 令牌public
{
"assetFullName": "Bitcoin", <----- This is what I'm looking on a public endpoint
"assetName": "BTC",
"isBorrowable": true,
"isMortgageable": true,
"userMinBorrow": "0.00000000",
"userMinRepay": "0.00000000"
}
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是是否有一个公共端点可用于获取相同的信息?现在,我正在使用端点/api/v3/exchangeInfo来检索交易所上的可用符号,但此响应中没有包含name/description该符号...
"symbols": [
{
"symbol": "ETHBTC",
"status": "TRADING",
"baseAsset": "ETH",
"baseAssetPrecision": 8,
"quoteAsset": "BTC",
"quotePrecision": 8,
"quoteAssetPrecision": 8,
"orderTypes": [
"LIMIT",
"LIMIT_MAKER",
"MARKET",
"STOP_LOSS",
"STOP_LOSS_LIMIT",
"TAKE_PROFIT",
"TAKE_PROFIT_LIMIT"
],
"icebergAllowed": true,
"ocoAllowed": true,
"isSpotTradingAllowed": true, …Run Code Online (Sandbox Code Playgroud) 我正在为我的公司维护一个半大型网站(几百页)。这是一个静态站点,有大量手动编写(即复制和粘贴)的 HTML,二进制资源散布在各处。这些资产包括产品图像、模拟视频、教程视频、固件文件、手册等,这些资产很少发生变化。理想情况下,它们都将存储在一个或几个系统中,以便可以系统地搜索和检索它们。唉,我们的世界并不理想,事实并非如此。这就是为什么以前的开发人员将所有这些文件的副本与代码一起放入站点的文件结构中。他的工作流程是在自己的 PC 上复制整个网站以进行更改并测试更改,然后通过 FTP 将其上传到 Web 服务器。没有版本控制。
当我接手时,我想引入版本控制,所以我把整个东西放在 Azure DevOps 上托管的 git 存储库中。我对大多数二进制文件使用了 LFS。整个存储库的大小现在约为 10 GB(包括 LFS 对象)。有一个部署管道,它只是克隆存储库并通过 FTP 上传整个内容。
最近,我的公司引入了本地 GitLab 安装,我与他们讨论了将存储库迁移到那里的问题。然而,他们现在不支持 LFS,并坚持认为我的工作流程不是 git 应该使用的方式。撇开我发现他们的推理过于教条这一事实不谈(大型二进制文件不应该在 git 中,尽管有 LFS。如果是的话,你就做错了。),我不否认我的工作流程离开了还有很大的改进空间。
他们建议将所有二进制资产放入外部存储解决方案(例如 Sharepoint)中,并在准备新网站时在 GitLab 中进行部署作业来拉取它们。
这让我想到了我的实际问题。鉴于这些情况:
遵循 GitLab 管理员的建议会有所改进吗?您认为作为网站维护者会给我带来什么好处吗?如果二进制资产不再是存储库的一部分,是否有办法跟踪与存储库历史相关的资产版本?
我希望这个问题足够具体,而不是一个简单的意见问题。
我有一个应用程序位于具有配置的Django服务器中。现在我也必须一起工作。在本地计算机上一切都很好,但我读过很多关于 Django Channels 与 uwsgi 不兼容的内容。NginxuwsgiDjango Channels
nginx.conf我尝试多次以多种不同的方式配置代理,Daphne但对我来说没有任何作用。我有这个问题几个月了,但我找不到任何可以帮助我的东西。
设置.py
# WSGI
WSGI_APPLICATION = 'config.wsgi.application'
# Channels
ASGI_APPLICATION = 'config.routing.application'
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
"hosts": [('127.0.0.1', 6379)],
},
},
}
Run Code Online (Sandbox Code Playgroud)
配置.路由.py
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
import myproject.websocket.routing
application = ProtocolTypeRouter({
'websocket': AuthMiddlewareStack(
URLRouter(
myproject.websocket.routing.websocket_urlpatterns
)
)
})
Run Code Online (Sandbox Code Playgroud)
网络套接字网址
from django.urls import re_path
from . import consumers
websocket_urlpatterns = [
re_path(r'ws/socket/$', consumers.WebSocketConsumer),
]
Run Code Online (Sandbox Code Playgroud)
阿斯吉 …
最近,我一直在使用 StateFlow、SharedFlow 和 Channels API,但在尝试将代码从 LiveData 迁移到表示层中的 StateFlow 时,我遇到了一个常见用例。
我面临的问题是,当我发出数据并将其收集到 viewModel 中时,我可以将值设置为 mutableStateFlow,当它最终到达片段时,它会使用 Toast 显示一些信息性消息,让用户知道是否发生错误发生了或者一切都很顺利。接下来,有一个按钮可以导航到另一个片段,但是如果我返回到已经有失败意图结果的上一个屏幕,它会再次显示 Toast。这正是我想要弄清楚的。如果我已经收集了结果并向用户显示了消息,我不想继续这样做。如果我导航到另一个屏幕并返回(当应用程序从后台返回时也会发生这种情况,它会再次收集最后一个值)。LiveData 没有发生这个问题,我只是做了完全相同的事情,公开来自存储库的流并通过 ViewModel 中的 LiveData 收集。
代码:
class SignInViewModel @Inject constructor(
private val doSignIn: SigninUseCase
) : ViewModel(){
private val _userResult = MutableStateFlow<Result<String>?>(null)
val userResult: StateFlow<Result<String>?> = _userResult.stateIn(viewModelScope, SharingStarted.Lazily, null) //Lazily since it's just one shot operation
fun authenticate(email: String, password: String) {
viewModelScope.launch {
doSignIn(LoginParams(email, password)).collect { result ->
Timber.e("I just received this $result in viewmodel")
_userResult.value = result
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的片段中: …
我长期以来一直在寻找在 flutter/dart 应用程序中监听互联网连接的最佳方法。我认为这种方法目前比较好,它可以对像我这样一直在寻找的人有所帮助。我使用过很多连接插件,但都不起作用。我同样按照许多人的建议使用了 data_connection_checker、lookUpAddress 等,但没有效果。但下面有帮助。使用以下插件检查或监听 dart、flutter 应用程序中的互联网连接/网络连接。
import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:internet_connection_checker/internet_connection_checker.dart';
class ConnectionUtil {
static final ConnectionUtil _singleton = new ConnectionUtil._internal();
ConnectionUtil._internal();
static ConnectionUtil getInstance() => _singleton;
bool hasConnection = false;
StreamController connectionChangeController = StreamController();
final Connectivity _connectivity = Connectivity();
void initialize() {
_connectivity.onConnectivityChanged.listen(_connectionChange);
}
void _connectionChange(ConnectivityResult result) {
_hasInternetInternetConnection();
}
Stream get connectionChange => connectionChangeController.stream;
Future<bool> _hasInternetInternetConnection() async {
bool previousConnection = hasConnection;
var connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile || connectivityResult == …Run Code Online (Sandbox Code Playgroud) 一旦流发出第一个值,就会崩溃。
java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object kotlinx.coroutines.flow.FlowCollector.emit(java.lang.Object, kotlin.coroutines.Continuation)' on a null object reference
at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catchImpl$$inlined$collect$1.emit(Collect.kt:136)
at com.happyfleet.app.data.UsbDataSource$mapResponse$$inlined$map$1$2.emit(Collect.kt:137)
at com.happyfleet.app.data.UsbDataSource$mapResponse$$inlined$filter$1$2.emit(Collect.kt:137)
at kotlinx.coroutines.flow.SharedFlowImpl.collect(SharedFlow.kt:351)
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(Unknown Source:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:234)
at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:190)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:161)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
at kotlinx.coroutines.flow.SharedFlowImpl.emitSuspend(SharedFlow.kt:472)
at kotlinx.coroutines.flow.SharedFlowImpl.emit(SharedFlow.kt:374)
Run Code Online (Sandbox Code Playgroud)
我的视图模型代码:
@HiltViewModel
class ErrorActivityViewModel @Inject constructor(
private val sendActivityReportUseCase: SendActivityReportUseCase,
private val connectionRepository: ConnectionRepository
) : ViewModel() {
fun sendActivityReport() = viewModelScope.launch {
sendActivityReportUseCase.execute()
}
init {
subscribeToSessionTime()
}
private fun subscribeToSessionTime() = viewModelScope.launch …Run Code Online (Sandbox Code Playgroud) android ×2
asgi ×1
asynchronous ×1
aws-amplify ×1
binance ×1
channel ×1
connection ×1
connectivity ×1
coroutine ×1
daphne ×1
dart ×1
flask ×1
flutter ×1
git ×1
kotlin ×1
large-files ×1
nginx ×1
python ×1
uwsgi ×1
vuejs3 ×1
workflow ×1