小编Dan*_*iel的帖子

会话在本地主机上的两个 Flask 应用程序之间共享

因此,我在本地主机上运行了两个 Flask 应用程序,一个在端口 5001 上,另一个在端口 5003 上,显然两者都使用相同的会话。如果我在一个应用程序上登录,它会在另一个应用程序上注销。例如,最近,如果我在一个应用程序上使用我的电子邮件登录,它也会在另一个应用程序上登录我的帐户,因为我有用户在两个应用程序上都使用该电子邮件,并且我将电子邮件用作用户标识符,但是当我为用户使用另一个 id 时,这种情况就停止了。

我正在使用 Flask-Login 和 Google Chrome(在 Edge 中也发生了同样的事情)。

我不确定这是否也可能发生在生产中,我们可能会为两个应用程序使用相同的主机,所以这将是一个问题。如果这仅与 localhost 相关,那么没关系,但我认为情况并非如此。

知道这里会发生什么吗?

提前致谢。

python session localhost flask flask-login

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

使用elasticsearch-dsl的delete方法时版本冲突

因此,我们在 Django 项目中使用elasticsearch,并且使用elasticsearch-dsl python 库。

我们在生产中遇到以下错误:

ConflictError(409, '{"took":7,"timed_out":false,"total":1,"deleted":0,"batches":1,"version_conflicts":1,"noops":0,"retries":{"bulk":0,"search":0},"throttled_millis":0,"requests_per_second":-1.0,"throttled_until_millis":0,"failures":[{"index":"events","type":"_doc","id":"KJ7SpWsBZnen1jNBRWWM","cause":{"type":"version_conflict_engine_exception","reason":"[KJ7SpWsBZnen1jNBRWWM]: version conflict, required seqNo [1418], primary term [1]. current document has seqNo [1419] and primary term [1]","index_uuid":"2-fSZILVQzuJE8KVmpLFXQ","shard":"0","index":"events"},"status":409}]}')
Run Code Online (Sandbox Code Playgroud)

并具有更好的格式:

{
    "took": 7,
    "timed_out": false,
    "total": 1,
    "deleted": 0,
    "batches": 1,
    "version_conflicts": 1,
    "noops": 0,
    "retries": {
        "bulk": 0,
        "search": 0
    },
    "throttled_millis": 0,
    "requests_per_second": -1.0,
    "throttled_until_millis": 0,
    "failures": [
        {
            "index": "events",
            "type": "_doc",
            "id": "KJ7SpWsBZnen1jNBRWWM",
            "cause": {
                "type": "version_conflict_engine_exception",
                "reason": "[KJ7SpWsBZnen1jNBRWWM]: version conflict, required seqNo [1418], primary term [1]. current document has …
Run Code Online (Sandbox Code Playgroud)

python django elasticsearch elasticsearch-dsl elasticsearch-py

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

如何在 django rest 框架中允许 POST 进行更新操作

我们正在使用 Django Rest Framework 构建 API,我们的客户希望它具有以下端点:

Method: POST
URL: api/v1/application/<id>
Run Code Online (Sandbox Code Playgroud)

它基本上是一个更新端点,但使用 POST 而不是 PUT。

我已经有了这个模型的视图集,我们正在使用创建、列出和检索操作。

所以,我可以做的一件事是在 Django Rest Framework 中允许 POST 进行更新操作,但我还没有找到如何做到这一点。另外,我可以像这样定义一个自定义操作:

@action(methods=['post'], detail=True)
def update_status(self, request, pk=None):
    # some code
Run Code Online (Sandbox Code Playgroud)

问题是这个路由到application/<id>/update_status,我可以通过传递url_path参数来更改路由,但如果它是 None 或为空,它只会update_status再次默认。

我也可以在不同的视图中手动定义这个端点并手动路由,但在我看来这是一个更糟糕的解决方案,在我已经拥有的视图集中拥有它会很好。

谢谢。

python django django-rest-framework

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

将材质图标添加到 Ionic 3 项目

我们的网络应用程序有这些材料图标:https : //fonts.googleapis.com/icon?family= Material+ Icons

我们目前正在 Ionic Framework 3 中开发移动版本,我们希望使用相同的图标,但其中一些未包含在框架中。

我怎样才能添加它们?理想情况下,我想像其他 Ionic 图标一样使用它们:

<ion-tab [root]="tab1Root" tabTitle="Something" tabIcon="some-material-icon"></ion-tab>
Run Code Online (Sandbox Code Playgroud)

谢谢。

ionic-framework ionic3

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