RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-225154

Emil Aliyev's questions

Martin Hope
Emil Aliyev
Asked: 2024-03-13 13:03:09 +0000 UTC

Flask + SQLAlchemy + Sqlite 对象未添加到数据库

  • 5

我会尽量写得很简短,代码会很零碎,我会尽量不写太多。我只想说我在控制台中逐行检查了所有内容,我将在下面附加错误。我有一个有五个字段的类,第一和第五是明确的。

class Article(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    intro = db.Column(db.String(300), nullable=False)
    text = db.Column(db.Text, nullable=False)
    date = db.Column(db.DateTime, default=datetime.utcnow)


    def __repr__(self):
        return '<Article %r>' % (self.id)

对象填写表格:

<form action="/create-article" method="post">
<input type="text" name="title" id="title" class="form-control"></br>
<textarea name="intro" id="intro" class="form-control"></textarea></br>
<textarea name="text" id="text" class="form-control"></textarea></br>
<input type="submit" class="btn btn-success" value="Отправить">

然后使用 post 方法,我只需创建一个填充了字段的对象

def create_article():
    if request.method == 'POST':
        title = request.form['title']
        intro = request.form['intro']
        text = request.form['text']

        article = Article(title=title, intro=intro, text=text)
        with app.app_context():
            try:
                db.session.add(article)
                db.session.commit()
                return redirect('/')
            except:
                return 'Error'
    else:
        return render_template('create-article.html')

起初我很长一段时间无法创建数据库本身,据我了解,新版本的Flask有这样的问题。我阅读了文档,我必须以 with app.app_context(): 不同的方式编写它

这通常意味着您尝试使用当前应用程序所需的功能。要解决此问题,请设置应用程序上下文 with app.app_context()。请参阅文档以获取更多信息。

那么,向数据库添加文章时,这也是唯一的方法。

返回“错误”

我在控制台中逐行尝试了所有内容,该步骤db.session.commit() 出现错误

> sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: article
[SQL: INSERT INTO article (title, intro, text, date) VALUES (?, ?, ?, ?)]
[parameters: ('title', 'intro', 'text', '2024-03-13 04:25:38.283046')]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

但该类的实例已经创建并且可以访问。我附上屏幕截图。日志

当然,我在弄清楚app_context之后创建了数据库

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///blog.db'

在控制台中,我只是手动将同名行添加到三个字段中进行测试。

显然该文章对象不存在。我恳请你帮我解决这个问题。

sqlite
  • 2 个回答
  • 40 Views
Martin Hope
Emil Aliyev
Asked: 2020-01-18 09:41:07 +0000 UTC

Python 屏幕特定部分的屏幕截图 [重复]

  • 1
这个问题已经在这里得到回答:
使用 OpenCV 在 Python 中进行屏幕阅读 (1 个回答)
5 年前关闭。

再会。您需要截取屏幕上特定矩形的屏幕截图,很可能是按坐标截取屏幕截图,然后保存这张特定图片。不需要整个屏幕。我猜是四个点的坐标和它们之间的整个区域。此外,工作只需要这个小矩形。请告诉我。

python
  • 1 个回答
  • 10 Views
Martin Hope
Emil Aliyev
Asked: 2020-12-23 04:02:07 +0000 UTC

如何在列表中显示具有相同符号的数字?

  • 2

给定一个数字列表。如果它包含两个具有相同符号的相邻元素,则打印这些数字。如果没有相同符号的相邻元素,则不打印任何内容。如果有几对这样的邻居,打印第一对。

任务来了。

a = [int(i) for i in input().split()]
res = []
for i in range(len(a)-1):
    if (a[i] > 0 and a[i+1] > 0) or (a[i] < 0 and a[i+1] < 0):
        res.append(a[i])
        res.append(a[i+1])
print(res[0], res[1])

做了小学。遍历列表,将两个具有相同符号的相邻元素添加到新列表的末尾。只输出新列表的前两个元素,以防有多个这样的对。通过所有测试,除了那些如果没有相同符号的相邻元素,则不显示任何内容。

“什么都不输出”到底是什么意思?

所以我只在至少有两个符合条件的相邻元素时才显示它。

python
  • 2 个回答
  • 10 Views
Martin Hope
Emil Aliyev
Asked: 2020-11-24 04:51:17 +0000 UTC

基本 RLE 编码 python

  • 1

https://stepik.org/lesson/Base-RLE-encode-21299/step/2?adaptive=true&unit=5100

该算法的输入是包含拉丁字母字符的字符串。该字符串被分成几组连续的相同字符(“系列”)。每个系列都以重复符号和重复次数为特征。写入代码的正是这些信息:首先写入一系列重复字符的长度,然后写入字符本身。对于长度为一个符号的系列,将省略重复次数。

例如,考虑这条线

aaabccccCCaB

把它分解成系列

aaa b cccc CC a B

之后,我们对系列进行编码并得到最终的字符串,我们将考虑算法的结果。

3ab4c2CaB

输入格式:一行包含拉丁字母的任意字符。

输出格式:包含编码序列的字符串。

示例输入 1:aaabccccCCaB 示例输出 1:3ab4c2CaB

这是一个这样的任务。现在代码处于糟糕的状态,因为我无法理解错误是什么。我已经以最平庸的方式明确指出了输入行的长度并删除了单位。

vvod = 'aaabccccCCaB' #input()
if len(vvod) > 1:
    count = 1
    prev = ''
    lst = []
    for i in vvod:
        if i != prev:
            if prev:
                entry = ''
                entry = str(count) + prev
                lst.append(entry)
            count = 1
            prev = i
        else:
                count += 1
    else:
        entry = str(count) + i
        lst.append(entry)
    edinici = ''.join(lst)
    x = ''
    for i in edinici:
        if i != '1':
            x = x + i
    print(x)
else:
    print(vvod)

我恳请你帮忙解决这个问题,也许我会寻找另一本问题书。

没有通过现场测试。没有明确的解释,产生错误的答案。解释器正确显示所有内容 - 我从任务中输入了示例输入并自己编写了任意行。

Failed test #6. Wrong answer
python
  • 1 个回答
  • 10 Views
Martin Hope
Emil Aliyev
Asked: 2020-11-23 08:38:15 +0000 UTC

凯撒密码 Python

  • 3

请帮忙。有一个任务:

https://stepik.org/lesson/Caesar-cipher-23896/step/1?adaptive=true&unit=6422

凯撒密码在于将输入字符串的每个字符替换为字母表中其左侧或右侧几个位置的字符。

对于所有字符,移位是相同的。移位是循环的,即 如果对字母表的最后一个字符应用单个移位,则它将被第一个字符替换,反之亦然。

编写一个程序,使用凯撒密码对文本进行加密。

使用的字母 −− 空格和小的拉丁字符:'abcdefghijklmnopqrstuvwxyz'

输入格式:第一行表示使用的密码偏移量:一个整数。正数对应于向右移动。第二行包含一个非空的加密短语。忽略前导和尾随空格。

输出格式:唯一包含短语:Result: "..." 的行,其中写的不是引号内的省略号,而是加密序列。

Sample Input 1:
3
i am caesar
Sample Output 1:
Result: "lcdpcfdhvdu"

所以这就是我解决它的方法:

a = int(input())
b = input()
c = ' abcdefghijklmnopqrstuvwxyz'
res = []
len_c=len(c)
for i in b:
    res.append(c[(c.find(i)+a)%len_c]) 
print('Result: ', '"',''.join(res),'"', sep = '')

解释器正确输出所有内容。本站不测试。请告诉我,我哪里出错了。

python
  • 3 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5