小编Ale*_*sen的帖子

Flask 和 WTForms:用于显示日期的 DatePicker 小部件

我有一个包含三个字段(目的地、开始时间和结束时间)的小型 Flask 应用程序。我想在选择开始和结束日期时使用 DatePicker 小部件来显示日历。

使用我当前的脚本,日期小部件根本不会产生。我在这里缺少什么?

app.py:

# -*- coding: utf-8 -*- 

from flask.ext.wtf import Form
from wtforms import SubmitField, SelectField, DateField
from flask import Flask, render_template, request
from flask.ext.bootstrap import Bootstrap
from flask.ext.admin.form.widgets import DatePickerWidget

class GeneralForm(Form):
    destination = SelectField(choices = data)
    start_time = DateField('Start at', widget=DatePickerWidget())
    end_time = DateField('End at', widget=DatePickerWidget())
    submit = SubmitField('Submit')

@app.route("/", methods=['GET', 'POST'])
def index():
    form = GeneralForm(request.form)
    if request.method == 'POST':
        destination = form.destination.data
        start_time = form.start_time.data
        end_time = form.end_time.data
        return render_template('page.html', form=form) …
Run Code Online (Sandbox Code Playgroud)

python datepicker jinja2 datefield flask

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

不确定我是否需要互斥锁

我是并发编程的新手,所以要好.我有一个基本的顺序程序(用于家庭作业),我试图把它变成一个多线程程序.我不确定我的第二个共享变量是否需要锁定.线程应修改我的变量但从不读它们.应该读取的唯一时间是在生成所有线程的循环完成分发键之后.

#define ARRAYSIZE 50000

#include <pthread.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h> 

void binary_search(int *array, int key, int min, int max); 

int count = 0; // count of intersections
int l_array[ARRAYSIZE * 2]; //array to check for intersection

int main(void)
{
    int r_array[ARRAYSIZE]; //array of keys
    int ix = 0;

    struct timeval start, stop;
    double elapsed;

    for(ix = 0; ix < ARRAYSIZE; ix++)
    {
        r_array[ix] = ix;
    }
    for(ix = 0; ix < ARRAYSIZE * 2; ix++)
    {
        l_array[ix] = …
Run Code Online (Sandbox Code Playgroud)

c concurrency mutex pthreads

4
推荐指数
2
解决办法
221
查看次数

python中的常量字符串文件

我试图将我所有面向用户的字符串放入一个文件中,以便更容易地更改这些字符串.我正在寻找可读性方面的最佳实践.我现在有两个版本的同一个文件,我看到两个版本的权衡.所以我想知道这种情况是否有最好的做法.

第一个constants.py文件

class strings:

    esc_statuses = {
        "RETURNED": "Returned",
        "SUBMITTED": "Submitted",
        "DRAFT": "Draft",
        "CANCELED": "Canceled",
        "ESCALATED": "Escalated"
        }

    NewEscFieldText = {
        "customer_name": "The name of the customer who encountered this bug.",
        "summary": "A brief summary of the bug.",
        "request": "The request.",
        "customer_impact": "How the customer is impacted.",
        "severity": "The severity of the bug.",
        "component": "The component of this bug.",
        "related_bugs": "Bugs which are related to this one.",
        "logs": "The logs assosciated with this bug.",
        "description": "A detailed discription of the …
Run Code Online (Sandbox Code Playgroud)

python standards

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

Python dt.replace(tzinfo=) 不会改变时区

为什么在收到有效时区对象时不替换修改 tzinfo 对象?

我正在尝试将本地时间添加到未指定时区的时间戳中。

if raw_datetime.tzinfo is None:
    print(raw_datetime)
    print(raw_datetime.tzinfo)
    raw_datetime.replace(tzinfo=dateutil.tz.tzlocal())
    print(raw_datetime.tzinfo, dateutil.tz.tzutc())
Run Code Online (Sandbox Code Playgroud)

根据文档,我应该能够使用有效的日期时间更改 tzinfo 属性

https://docs.python.org/2/library/datetime.html#datetime.date.replace

但我显然做错了什么,因为 tzinfo 对象仍然是 None.

2000-04-25 12:57:00
None
None tzutc()
Run Code Online (Sandbox Code Playgroud)

python datetime python-2.7

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

python:将pywintyptes.datetime转换为datetime.datetime

我正在使用pywin32读取/写入Excel文件。我在Excel中有一些日期,格式为yyyy-mm-dd hh:mm:ss。我想将它们作为datetime.datetime对象导入Python。这是我开始的代码行:

prior_datetime = datetime.strptime(excel_ws.Cells(2, 4).Value, '%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)

那没用。我得到了错误:

strptime() argument 1 must be str, not pywintypes.datetime
Run Code Online (Sandbox Code Playgroud)

我尝试将其转换为字符串,如下所示:

prior_datetime = datetime.strptime(str(excel_ws.Cells(2, 4).Value), '%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)

那也不起作用。我得到了错误:

ValueError: unconverted data remains: +00:00
Run Code Online (Sandbox Code Playgroud)

因此,我尝试了一些不同的方法:

prior_datetime = datetime.fromtimestamp(int(excel_ws.Cells(2, 4).Value))
Run Code Online (Sandbox Code Playgroud)

仍然没有运气。错误:

TypeError: a float is required.
Run Code Online (Sandbox Code Playgroud)

投向浮动广告并没有帮助。也不是整数。(嘿,我当时很绝望。)

我可能在找错地方,但是我在查找有关pywin32的任何常规文档(尤其是pywintypes或pywintypes.datetime)方面的良好文档时遇到了麻烦。

有什么帮助吗?

python excel pywin32

4
推荐指数
2
解决办法
5271
查看次数

debug2:通道&lt;x&gt;:发送窗口&lt;number&gt;调整&lt;number_2&gt;

我正在会话vim内部修改文件,tmux并且此行(不属于文件的一部分)不断在光标行上弹出:

debug2: channel 0: window 99720 sent adjust 6670

为什么会弹出此消息,我该怎么办?

ssh tmux

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

使用SQLAlchemy创建后自动递增非唯一ID

我的主要目标是使实施修订历史记录和日记更加容易。

我发现自己想知道是否有可能使用Flask-SQLAlchemy(或直接使用SQL)为mysql获取一个自动递增的非唯一整数。 我发现了这个堆栈溢出帖子,该帖子与我想做什么很接近,但问题集中在主键上。例如,如果我的表有这些列,

revision_id = db.Column(db.Integer, nullable=False)
post_id = db.Column(db.Integer, nullable=False)

__table_args__ = (
    PrimaryKeyConstraint('post_id', 'revision_id'),
)
Run Code Online (Sandbox Code Playgroud)

是否可以创建一个修订版本ID为1且post_id为max(post_id)+ 1的新帖子,而不会出现两个用户尝试同时创建一个帖子并创建相同的post_id的问题?

该系统的优势在于,它使发布历史记录(和差异记录)非常简单。每当有人想要修改帖子时,我都将使用与原始帖子相同的post_id并增加version_id(现在我将其键入,但存在相同的问题)。

更新:

西尔万·勒鲁(Sylvain Leroux)使我走上了正确的道路,以解决我的问题。我需要将两个表都设置为sqlalchemy中的主键。如果sqlalchemy中有一个以上的主键,则不会假定它们是唯一的。这是我目前的定义,

revision_id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=False, default=1)
post_id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
__table_args__ = (
    PrimaryKeyConstraint('post_id', 'revision_id'),
)
Run Code Online (Sandbox Code Playgroud)

哪个产生这个SQL

CREATE TABLE `post` (
    revision_id INTEGER NOT NULL, 
    post_id INTEGER NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY (post_id, revision_id), 
)
Run Code Online (Sandbox Code Playgroud)

这让我可以插入有无post_id的内容。

所有人都归功于Sylvain Leroux,因为我只是将他的答案翻译成了SQLAlchemy。

mysql sqlalchemy flask-sqlalchemy

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

为什么gzip使用CRC而不是一般的哈希算法?

数字签名代码字有什么区别?

背景: 我最近一直在使用gzip压缩文件进行大量的工作.我在阅读Python zlib文档时发现的一件有趣的事情是声称CRC不应该用作通用哈希算法.这让我想知道,如果CRC不是一般的哈希算法,它的重点是什么?检查平等不是重点吗?

algorithm hash gzip crc digital-signature

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

AWS Lambda 运行 Terraform 计划时没有 Python3.9 运行时上下文?

有问题的具体错误是


Error: expected runtime to be one of [nodejs nodejs4.3 nodejs6.10 nodejs8.10 nodejs10.x nodejs12.x nodejs14.x java8 java8.al2 java11 python2.7 python3.6 python3.7 python3.8 dotnetcore1.0 dotnetcore2.0 dotnetcore2.1 dotnetcore3.1 nodejs4.3-edge go1.x ruby2.5 ruby2.7 provided provided.al2], got python3.9

  on ../../../../module/data-platform-sftp/auth_lambda.tf line 30, in resource "aws_lambda_function" "auth_lambda":
  30:   runtime = var.lambda_runtime_context
Run Code Online (Sandbox Code Playgroud)

我正在运行 Terraform 0.12.31。当AWS 表示支持python 3.9 时,为什么运行时上下文中缺少 python 3.9 ?

aws-lambda terraform python-3.9

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

aws_secretsmanager_secret 键/值对示例(基于 Terraform 文档)不适用于随机生成的密码

目标是什么?

\n

采用以下解决方案(使用随机密码生成机密管理器机密)并从纯文本机密转移到键/值机密。

\n

明文 Secretsmanager 秘密解决方案

\n
resource "random_password" "default_password" {\n  length           = 20\n  special          = false\n}\n\n# NOTE: Since we aren\'t specifying a KMS key this will default to using\n# `aws/secretsmanager`/\nresource "aws_secretsmanager_secret" "user_default" {\n  name        = "user/default"\n  tags        = local.tags\n}\n\nresource "aws_secretsmanager_secret_version" "secret_val" {\n  secret_id     = aws_secretsmanager_secret.user_default.id\n  secret_string = random_password.default_password.result\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这是一个功能性解决方案,可使用随机生成的密码生成明文机密\n在此输入图像描述

\n

尝试的解决方案

\n

这是我基于Secretsmanager_secret_version 的 terraform 文档尝试的第一个解决方案,不幸的是,它不适用于随机生成的密码

\n
  // TODO: Generalize this to produce a password once per (username, company)\n  //       tuple in a list.\n  resource …
Run Code Online (Sandbox Code Playgroud)

terraform aws-secrets-manager

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