小编Kat*_*ova的帖子

如何最好地实现“收藏夹”功能?(就像数据驱动网站上最喜欢的产品)

我编写了一个动态数据库驱动、面向对象的网站,带有管理前端等。我想添加一个功能,客户可以将项目保存为“收藏夹”,而无需创建帐户和登录,以便稍后返回它们,但我不知道到底该怎么做......我看到三个选项:

  1. 根据 IP 地址记录收藏夹,然后在客户创建帐户时将其更改为针对帐户进行记录;
  2. 强制客户创建一个帐户才能使用此功能;
  3. 根据 IP 地址记录收藏夹,但用户可以选择以指定的名称保存收藏夹。

选项 1 的问题是我对 IP 地址了解不多 - 我爸爸认为它们是独一无二的,但我知道人们在使用此类系统时遇到过问题。

1和2的问题是账户还没有向客户开放——目前只有管理员可以登录。改变它应该很容易(不超过上午或下午的工作),但我也必须实现用户组。

选项 3 的问题是,如果用户 A 保存了一个名为“我的收藏夹”的收藏夹列表,然后用户 B 尝试以该名称保存列表但遭到拒绝,则用户 B 将能够访问用户保存的列表A 因为他们现在知道它已经存在。解决此问题的一个解决方案是使用密码保护列表,但要付出所有这些努力,我也可以实施选项 2。

当然我总是可以使用选项 4;如果有人可以提出比上述任何选项更好的解决方案,请使用替代方案。

那么以前有人做过这样的事情吗?如果是这样,你是怎么做的?您推荐(或不推荐)什么?

.net vb.net asp.net favorites ip-address

3
推荐指数
1
解决办法
2353
查看次数

使用 Python 的 Beautiful Soup 提取图像

我使用以下代码从亚马逊列表中提取我需要的 HTML:

import requests
from bs4 import BeautifulSoup

r=requests.get("http://www.amazon.com/dp/B0007RXSB4")

soup=BeautifulSoup(r.content)

soup.find_all("div", {"id":"imgTagWrapperId"})
Run Code Online (Sandbox Code Playgroud)

这给了我这个:

[<div class="imgTagWrapper" id="imgTagWrapperId">\n<img alt="Johnston         
&amp; Murphy Men's Greenwich Oxford,Black,6 D" class="a-dynamic-image 
a-stretch-vertical" data-a-dynamic-image='{"http://ecx.images-
amazon.com/images/I/81zwayZox-S._UY695_.jpg":
[695,695],"http://ecx.images-amazon.com/images/I/81zwayZox-
S._UY535_.jpg":[535,535],"http://ecx.images-
amazon.com/images/I/81zwayZox-S._UY500_.jpg":
[500,500],"http://ecx.images-amazon.com/images/I/81zwayZox-
S._UY575_.jpg":[575,575],"http://ecx.images-
amazon.com/images/I/81zwayZox-S._UY395_.jpg":
[395,395],"http://ecx.images-amazon.com/images/I/81zwayZox-
S._UY585_.jpg":[585,585]}' data-old-hires="http://ecx.images-
amazon.com/images/I/81zwayZox-S._UL1500_.jpg" id="landingImage" 
onload="this.onload='';setCSMReq('af');if(typeof addlongPoleTag === 
'function'){ addlongPoleTag('af','desktop-image-atf-
marker');};setCSMReq('cf')" src="http://ecx.images-
amazon.com/images/I/41KixMIlPNL._SY395_QL70_.jpg" style="max-
width:695px;max-height:695px;">\n</img></div>]
Run Code Online (Sandbox Code Playgroud)

我只需要知道如何提取

http://ecx.images-amazon.com/images/I/81zwayZox-S._UY695_.jpg

从上面的代码。

html python beautifulsoup python-3.x

3
推荐指数
1
解决办法
7633
查看次数

如何从 Python 中的 API 响应解析 JSON 数据?

我正在尝试编写一个脚本,该脚本将从我们的监控工具中提取当前状态并在 MS SQL DB 中更新它们。当我调用 API 时,我得到了一个 JSON 格式的巨大响应:

{
  "hoststatuslist": {
    "recordcount": "1084",
    "hoststatus": [
      {
        "@attributes": {
          "id": "XXXX"
        },
        "host_id": "XXX",
        "name": "XXXXX",
        "display_name": "XXXXXXX",
        "address": "XXXXXX",
        "alias": "XXXXXX",
        "status_text": "XXXXXXXXXXXXXXXXXXXXXXX",
        etc.
      },
      {
        "@attributes": {
          "id": "XXXX"
        },
        "host_id": "XXX",
        "name": "XXXXX",
        "display_name": "XXXXXXX",
        "address": "XXXXXX",
        "alias": "XXXXXX",
        "status_text": "XXXXXXXXXXXXXXXXXXXXXXX",
        etc.
      },
      etc.
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我获得了 1000 多个具有属性的主机对象。我想解析响应,以便我可以添加/更新 MS SQL DB。我试图解析出HOST_ID名称STATUS_TEXT为每台主机。

我试图做这样的事情Python - 解析 JSON 数据集,但我不断收到响应对象没有属性读取或解码的错误。

这是我当前的代码: …

python sql-server api parsing json

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

什么决定了 Liquibase 变更集的执行顺序

我用谷歌搜索了一下,我发现变更集执行的顺序取决于它们在放置的文件中的顺序。

以下是同一文件中的变更集列表:

<changeSet id="A" author="abc">
</changeset>
<changeSet id="B" author="abc">
</changeset>
Run Code Online (Sandbox Code Playgroud)

执行顺序是根据id还是根据放置顺序决定的?另外,如果<changeSet>它们在不同的文件中,执行顺序是什么?

sql database liquibase

3
推荐指数
1
解决办法
4688
查看次数

在Angular 8中创建组件时,如何解决“检测到无效格式版本-预期:[1]找到:[3]”错误?

我需要在Angular 8的项目中创建一个组件,我尝试了以下命令:

ng g c prueba
Run Code Online (Sandbox Code Playgroud)

但它返回错误为:

检测到无效的格式版本-预期:[1]找到:[3]

你能帮我解决吗?

components angular7 angular8

3
推荐指数
1
解决办法
624
查看次数

如何将文件直接写入 Google Cloud Storage 而无需将其保存在我的应用程序中?

我正在尝试将 HTML 文件写入 Google Cloud Storage,而不将文件保存在我的节点应用程序中。我需要创建一个文件并立即上传到云存储。我尝试使用fs.writeFileSync()方法,但它在我的应用程序中创建了文件,我不想要那样。

const res = fs.writeFileSync("submission.html", fileData, "utf8");
GCS.upload(res, filePath);
Run Code Online (Sandbox Code Playgroud)

我希望直接在云存储中保存一个 HTML 文件。你能向我推荐正确的方法吗?

javascript node.js google-cloud-storage

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

如何使用 Promise 链接 CSS 动画?

我试图弄清楚如何Promise工作并使一个 CSS 动画一个接一个地运行。但是它们同时运行......

JS小提琴

let move_boxes = () => {
    return new Promise( (resolve, reject) => {
        resolve ('boxes moved!')
    })
};
let move_box_one = () => {
    return new Promise( (resolve, reject) => {
        resolve (document.getElementById('div_two').style.animation = 'move 3s forwards')
        console.log('box one moved!')   
    })

}
let move_box_two = () => {
    return new Promise( (resolve, reject) => {
        resolve (document.getElementById('div_one').style.animation = 'move 3s forwards')
        console.log('box two moved!')       
    })
}

move_boxes().then(() => {
    return move_box_one();
}).then(() => { …
Run Code Online (Sandbox Code Playgroud)

javascript css-animations ecmascript-6 es6-promise

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

如何设置 ApexCharts 中 x 轴标签的格式

我有一个返回数据的 API,如下所示:

[
    {
        "attributes": {
            "type": "AggregateResult"
        },
        "expr0": 25937961.52,
        "expr1": 1,
        "expr2": 2020
    },
    {
        "attributes": {
            "type": "AggregateResult"
        },
        "expr0": 4092447.85,
        "expr1": 3,
        "expr2": 2020
    },
    {
        "attributes": {
            "type": "AggregateResult"
        },
        "expr0": 18509414.84,
        "expr1": 6,
        "expr2": 2019
    },
    {
        "attributes": {
            "type": "AggregateResult"
        },
        "expr0": 13572118.12,
        "expr1": 10,
        "expr2": 2019
    },
...
Run Code Online (Sandbox Code Playgroud)

其中expr0是货币值,expr1是月份,expr2是年份。我在 React 中使用 ApexCharts 在我的网站上显示结果,但是我似乎无法正确格式化数据。我的组件如下所示,但它目前仅显示一个点。我不确定数据点是否需要显示 x/y 键,或者日期是否需要位于选项的 x 轴中。

class SFAllTimeQuoteValue extends Component {
    constructor(props) {
        super(props);
        this.state …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs apexcharts

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

Angular 9 - 无法绑定到“formGroup”,因为它不是“form”的已知属性

我的代码环境是Angular 9,在设置reactive form的时候,遇到了这个错误:

错误 NG8002:无法绑定到“formGroup”,因为它不是“form”的已知属性。

我在 Google 和 StackOverflow 上做了一些研究,但找不到与使用 Angular 9 相同的问题,但是,根据其他帖子的建议,我确实将 ReactiveFormsModule 导入 app.module.ts、routing.module.ts 和 recipe-编辑.component.spec.ts 文件。但是,错误不断弹出。我附上了我的代码,有人可以给我建议吗?

app.module.ts

import { RecipeService } from './recipes/recipe.service';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule} from '@angular/forms';

import { RoutingModule } from './routing.module';
import { ShoppingListService } from './shopping-list/shopping-list.service';
import { AppComponent } from './app.component';
import { RecipesComponent } from './recipes/recipes.component';
import { RecipeListComponent } from './recipes/recipe-list/recipe-list.component';
import { RecipeItemComponent } from './recipes/recipe-list/recipe-item/recipe-item.component'; …
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

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

如何从Python列表中获取相同的随机样本

我有一个小脚本来从列表中获取随机样本,但是我希望每当运行此脚本时始终获得相同的列表。我该怎么做?

我的代码当前如下,但是每次运行脚本时,我都会得到不同的示例。

import random

def SampleWithoutRepetition(population, sampleSize):
    random.seed(100)
    result =  random.sample(set(
        map(lambda attribute: attribute, population)), sampleSize)
    print(f"result: {result}")

population = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']

SampleWithoutRepetition(population, 4)
Run Code Online (Sandbox Code Playgroud)

python random

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