我在将从HTML下拉菜单中选择的项目传递给SQL查询时遇到问题.
我不确定我的代码中缺少哪些概念来使其工作.我发现的大多数示例都是在PHP中,我不确定如何将其转换为Python.
这是场景.我正在使用Flask和Sqlite,我尝试让用户从HTML下拉菜单中选择一个项目.从下拉菜单中选择的项目将用于SQL查询,以从数据库中检索信息,然后在新页面上显示这些结果.
例如,用户从具有3个选项(红色,蓝色,绿色)的下拉列表中选择"红色",然后单击提交按钮."Red"将传递到我的app.py文件中的SQL查询,该查询将从color ="Red"的行中检索所有数据.然后,检索到的数据将显示在/results.html上.
我相信我的问题是我没有正确地将值归因于我的下拉菜单中的项目,然后将该值传递给运行SQL查询的Python代码.这是我应该如何运作的假设,但我可能会错过这里更大的东西.
我已经尝试了很多HTML来完成这项工作,但我甚至不确定这是我的问题发生的地方.当我点击"提交"时,我正在使用新页面,但不会显示数据库中的任何内容
这是我的代码,我的2个视图('/'和'results.html')和我的Python代码:
@app.route('/results.html', methods=['GET','POST'])
def results():
g.db = connect_db()
cur = g.db.execute("SELECT * FROM all_items WHERE name = '{}'".format('Red'))
posts = [dict(item=row[0], name=row[1]) for row in cur.fetchall()]
g.db.close()
return render_template('results.html', posts=posts)
Run Code Online (Sandbox Code Playgroud)
这是下拉菜单存在的视图
<select name="Item_1">
<option value="Red">Red</option>
<option value="Green">Green</option>
</select>
<form name="Item_1" action="results.html" method='POST'>
<button type="submit">Compare!</button>
</form>
Run Code Online (Sandbox Code Playgroud)
这是视图,其中应显示选择"红色"的结果
% extends "template.html" %}
{% block content %}
<h2>Results</h2>
{% for p in posts %}
<strong>Item:</strong> {{ p.item }}
<strong>Name:</strong> {{ p.name}}
{% endfor %}
{% endblock …Run Code Online (Sandbox Code Playgroud) 我试图在python脚本中自动将变量的内容复制到剪贴板.因此,创建一个包含字符串的变量,我想将该字符串复制到剪贴板.
有没有办法用Pyclips或
os.system("echo '' | pbcopy")
Run Code Online (Sandbox Code Playgroud)
我已经尝试传递字符串应该去的变量,但这对我来说没有用.
我.append用来填充一个带有字符串的空列表,但我的项目被多次追加.在第一个字符串附加5次后,第二个字符串附加4次.为什么会这样?
这是我正在使用的代码
kw_list_1 = []
def add_kw():
kw_1 = raw_input('enter your first keyword - ')
for kw in kw_1:
kw_list_1.append(kw_1)
kw_2 = raw_input('enter second keyword - ')
for kw2 in kw_2:
kw_list_1.append(kw_2)
print kw_list_1
Run Code Online (Sandbox Code Playgroud)
例如,如果我用'apple'了kw_1,并'pear'为kw_2这个返回
['apple', 'apple', 'apple', 'apple', 'apple', 'pear', 'pear', 'pear', 'pear']
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?附加不是正确的方法来解决这个问题吗?
/bin/sh: /Users/alex/filename.py: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经设置了一个cronjob,它在正确的时间运行,但脚本没有被执行.当我检查邮件时,我收到了该错误.脚本和cronjob文件都在:
/Users/alex
Run Code Online (Sandbox Code Playgroud)
我的cronjob文件看起来像这样:
45 19 * * * /Users/alex/filename.py
Run Code Online (Sandbox Code Playgroud)
我知道该脚本有效,因为我可以从终端手动启动它.
我搞砸了哪里?