小编ron*_*gon的帖子

将瓶子形式自定义为表格

我一直在咬这个钉子很长一段时间.在我的Flask-app中,我目前有一个产品数据库,在应用程序中我有一个页面,可以将每个产品列查询到一个表中.

例如,我有1234可以查看详细信息(即数据库列)的产品,example.com/items/1234其中包含以下内容:

<div class="container">
  <div class="content">
  <a href="/item">Back</a>
  <table class="table">
  <thead>
    <tr>
      <th>#</th>
      <th>Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Detail-1<th>
      <td>Example</td>
    </tr>
    <tr>
       <th scope="row">Detail-2</th>
       <td>Example</td>
    </tr>
Run Code Online (Sandbox Code Playgroud)

我正在努力的是以下几点:

我希望能够添加具有相同表格风格的新产品.为此,我创建了一个如下形式:

class NewArticleForm(FlaskForm):
    detail_1 = StringField("Detail-1")
    detail_2 = IntegerField("Detail-2")
    ...
    submit = SubmitField("Submit")
Run Code Online (Sandbox Code Playgroud)

我现在完全失去了如何在模板中自定义表单外观{{ wtf.quick_form(form) }}.我尝试的是以下内容:

<form method="POST">
<table class="table">
  {% for name in form %}
  <tr>
    <th scope="row">{{ name.label }}</th>
    <td>{{ name }}</td>
  </tr>
  {% endfor %}
 </table>
 </form>
Run Code Online (Sandbox Code Playgroud)

该表看起来不错(至少是那个),但我认为请求没有正确发送.页面加载正确,"POST /url HTTP/1.1"但似乎没有正确.

我的意思是,尽管请求正确发送,我可以看到我是否通过Flask服务器运行应用程序.但是,似乎没有任何内容传输到数据库.页面只是重新加载输入的数据仍然在字段中,没有任何内容传输到数据库.如果我只是使用 …

python flask wtforms

12
推荐指数
1
解决办法
869
查看次数

从 Scrapy 结果中删除/排除非中断空间

我目前正在尝试抓取一个网站的文章价格,但我遇到了一个问题(在以某种方式解决了价格是动态生成的问题之后,这是一个巨大的痛苦)。

我能够毫无问题地接收价格和商品名称,但“价格”的每一秒结果都是“\xa0”。我曾尝试使用 'normalize-space()' 删除它,但无济于事。

我的代码:

import scrapy
from scrapy import signals
from scrapy.http import TextResponse
from scrapy.xlib.pydispatch import dispatcher
from horni.items import HorniItem

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
from selenium.webdriver.common.keys import Keys

class mySpider(scrapy.Spider):
    name = "placeholder"
    allowed_domains = ["placeholder.com"]
    start_urls = ["https://www.placeholder.com"]

    def __init__(self):
        self.driver = webdriver.Chrome()
        dispatcher.connect(self.spider_closed, signals.spider_closed)

    def spider_closed(self, spider):
        self.driver.close()

    def parse(self, response):
        self.driver.get("https://www.placeholder.com")
        response = TextResponse(url=self.driver.current_url, body=self.driver.page_source, encoding='utf-8')
        for post …
Run Code Online (Sandbox Code Playgroud)

python scrapy

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

在Matplotlib中制作一个非重叠的气泡图(圆形包装)

我目前正在尝试在Matplotlib中制作气泡图,其中气泡不重叠,因此将圆圈/气泡打包在图表中,大致类似于.

我认为可能有用:

  • 使用x = 1,y = 1绘制第一个数据点
  • 通过计算给定标量值的气泡半径来随机绘制其他数据点,以避免重叠

但我无法真正实现它,也无法找到任何相关信息.

python matplotlib

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

如何更新 csv::ByteRecord 中的字段?

我正在尝试解析 CSV 文件,如果某个字段匹配,则使用不同的值更新某个字段,但我不确定如何执行此操作。

我的代码:

extern crate csv;

use std::error::Error;

fn run(file: &str, output: &str) -> Result<(), Box<Error>> {
    let mut rdr = csv::Reader::from_path(file)?;
    let mut wtr = csv::Writer::from_path(output)?;

    wtr.write_record(rdr.byte_headers()?);
    for result in rdr.byte_records() {
        let mut record = result?;
        if &record[0] == "05V".as_bytes() && &record[4] == "4".as_bytes() {
            // let record[4] = "2"; -> Not sure how to update the field
        }
        wtr.write_byte_record(&record);
    }
    Ok(())
}
Run Code Online (Sandbox Code Playgroud)

如果记录符合条件,如何更新字段?

csv rust

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

标签 统计

python ×3

csv ×1

flask ×1

matplotlib ×1

rust ×1

scrapy ×1

wtforms ×1