我想检测会话['logged_in']是否存在,这意味着我的用户已经登录.
例如:
if (session['logged_in'] != None):
if session['logged_in'] == True:
return redirect(url_for('hello'))
Run Code Online (Sandbox Code Playgroud)
但是,如果密钥'logged_in'不存在,则会生成错误.由于会话对象就像字典,我以为我可以使用had_key()方法,但这似乎也不起作用.有没有一种简单的方法可以检测会话是否包含数据而不会产生错误?
@app.route('/registerdriver', methods=['POST'])
def register_driver():
fname = request.form['fname']
lname = request.form['lname']
email = request.form['email']
mobno = request.form['mobno']
password = request.form['password']
file = request.files['driving_license']
file.filename = mobno+"_"+fname
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
Run Code Online (Sandbox Code Playgroud)
上面是我用来保存文件的代码。但是尝试保存文件时出现以下错误
Flask.debughelpers.DebugFilesKeyError
Flask.debughelpers.DebugFilesKeyError:您尝试访问 request.files 字典中的文件“drive_license”,但它不存在。请求的 mimetype 是“application/x-www-form-urlencoded”而不是“multipart/form-data”,这意味着没有传输任何文件内容。要修复此错误,您应该在表单中提供 enctype="multipart/form-data"。
相反,浏览器传输了一些文件名。
有人可以帮我弄这个吗
我正在尝试以静态(静态/绘图)显示特定目录中的所有图像。这是我的蟒蛇:
hists = os.listdir('static/plots')
hists = ['plots/' + file for file in hists]
return render_template('report.html', hists = hists)
Run Code Online (Sandbox Code Playgroud)
和我的 html:
<!DOCTYPE=html>
<html>
<head>
<title>
Store Report
</title>
</head>
<body>
{{first_event}} to {{second_event}}
{% for hist in hists %}
<img src="{{url_for('static', filename='{{hist}}')}}" alt="{{hist}}">
{% endfor %}
</body>
</html>`
Run Code Online (Sandbox Code Playgroud)
当模板成功渲染时,不会获取模板。在新选项卡中打开图像会产生:
http://127.0.0.1:8080/static/%7B%7Bhist%7D%7D
我想问题出在这条线上,但我不知道什么是正确的:
<img src="{{url_for('static', filename='{{hist}}')}}" alt="{{hist}}">