【问题标题】:Updating database bottle sqlite更新数据库瓶sqlite
【发布时间】:2017-01-15 15:25:01
【问题描述】:

我正在尝试制作一个小型网络应用来管理温室,但我无法更新我的数据库。

我尝试了 GETPOST 方法,但没有任何反应。

我没有错误代码之类的,所以我看不出问题出在哪里。

您可以在下面看到我尝试输入数字并更新数据库的静态页面

这是我的 Python 应用程序:

@route('/mtemp', method=['GET', 'POST'])
def temp_modification():


        if request.GET.get('save'):
              new_temp = request.GET.get('ntemp')
              new_temp = int(new_temp)
              conn = sqlite3.connect('database.db')
              c = conn.cursor()
              c.execute("UPDATE database SET temp = ?", (new_temp))
              conn.commit()

              redirect("/")
       else:
              conn = sqlite3.connect('database.db')
              c = conn.cursor()
              c.execute("SELECT temp FROM database")
              cur_data = c.fetchone()
              cur_data = str(cur_data)
              for char in b:
                    cur_data = cur_data.replace(char, "")


return template('modtemp', old=cur_data)


run(host = '0.0.0.0', port=8080, debug=True, reloader=True)

还有我的模板:

<p>Nouvelle Température : </p>
<form action="/" method="GET">
<input type="number"  name="ntemp" value="{{old}}" >
<input type="submit" name"save" value="save">
</form>

【问题讨论】:

  • Ìt 似乎您的 temp_modification 函数的缩进很奇怪。你能检查一下吗?
  • 你的表叫database吗?
  • 缩进很好,上传问题我必须纠正,是的,我的表被称为数据库

标签: python bottle


【解决方案1】:

您知道提交表单时您的代码是否真的被命中了吗?您在模板中的表单操作设置为将表单提交到“/”,但您的瓶代码看起来设置为“/mtemp”。我不希望这段代码能按原样工作。您需要将表单操作更改为“/mtemp”。

【讨论】:

  • 表单也设置为发出 GET 请求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多