我希望能够将数据发送到我的Flask应用程序.我试过访问request.data但它是一个空字符串.你如何访问请求数据?
@app.route('/', methods=['GET', 'POST'])
def parse_request():
data = request.data # data is empty
# need posted data here
Run Code Online (Sandbox Code Playgroud)
这个问题的答案促使我在Python Flask中询问获取原始POST主体,而不管接下来是Content-Type标头,这是关于获取原始数据而不是解析数据.
我正在使用dhtmlxscheduler,我正在向django服务器发送日期以进行处理.
Dhtmlxscheduler为我提供了以下日期对象,提供的方法从下面的第二行开始:
end_date: Sat Nov 19 2011 01:00:00 GMT-0500 (EST)
__proto__: Invalid Date
constructor: function Date() { [native code] }
getDate: function getDate() { [native code] }
getDay: function getDay() { [native code] }
getFullYear: function getFullYear() { [native code] }
getHours: function getHours() { [native code] }
getMilliseconds: function getMilliseconds() { [native code] }
getMinutes: function getMinutes() { [native code] }
getMonth: function getMonth() { [native code] }
getSeconds: function getSeconds() { [native code] }
getTime: function getTime() { …Run Code Online (Sandbox Code Playgroud) 我已经验证了dateutils.tz.tzlocal()在heroku上不起作用,即使它确实如此,它不会只是从计算机的操作系统中获取tz,而不是用户吗?
如果没有存储用户时区,有没有办法确定请求的来源?(我正在使用烧瓶)
Twitter确实有一个设置来调整你的时区,但我想知道他们如何确定默认值应该是什么以及当用户没有登录时它将如何工作.
我知道这已经被问过了,但我仍在努力寻找解决方案。我已经尝试过pytz,dateutil和现在flask_moment。在将MySQL表日期时间(UTC)转换为本地时间(特别是UTC-05:00(EST))在jinja2模板中显示时,仍然存在问题。
我的jinja2 for循环如下所示:
{% for data in items %}
...
<td>{{data.loggedInBy}}</td>
<td>{{data.timeIn.strftime('%I:%M %p')}}</td>
...
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我是python / flask / jinja的新手,所以请放轻松。对于像我这样的菜鸟来说,文档非常令人困惑。有人可以帮我引导我的MySQL表显示本地时区的时间吗?
我觉得这已经很接近了,但是却遇到了错误。在init .py中,我有:
from pytz import timezone
def datetimefilter(value, format='%I:%M %p'):
tz = timezone('US/Eastern')
dt = value
local_dt = tz.localize(dt)
local_dt.replace(hour=local_dt.hour + int(local_dt.utcoffset().total_seconds() / 3600))
return local_dt.strftime(format)
flask_app.jinja_env.filters['datetimefilter'] = datetimefilter
jinja template had:
{% for data in items %}
...
<td>{{data.loggedInBy}}</td>
<td>{{data.timeIn | datetimefilter }}</td>
...
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但这给了我“ ValueError:小时必须在0..23中”从第1行:
local_dt.replace(hour=local_dt.hour + int(local_dt.utcoffset().total_seconds() / 3600))
Run Code Online (Sandbox Code Playgroud)
提前致谢!