我正在尝试部署django网站。它似乎工作正常,但在管理站点中,似乎POST不能用于更新用户帐户。
错误响应位于此处:http://dpaste.com/0CKD2CS
我的问题是,如果django-admin正常运行,为什么网站无法在POST设置中找到该页面?
谢谢。
答案 0 :(得分:0)
在这种情况下,FileNotFoundError
实际上是为了尝试读取"格式文件",Django使用它来确定日期,时间和货币等特定于语言环境的格式显示。在这种情况下,它位于DATE_INPUT_FORMATS
的{{1}}上。
Django允许在设置中指定格式的路径:
https://docs.djangoproject.com/en/1.8/ref/settings/#format-module-path
否则,在Django发行版中的语言环境目录中配置了许多这些 - DateField
。例如:
.../lib/python2.7/site-packages/django/conf/locale
值得检查有效的区域设置和相关文件。如果您可以使用停用翻译机制,或者至少在排除故障时,可以在../lib/python2.7/site-packages/django/conf/locale/en_AU/formats.py
19:DATE_INPUT_FORMATS = (
20- '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06'
21- # '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006'
22- # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006'
23- # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006'
24- # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006'
25-)
中设置USE_I18N=False
。
可能值得仔细阅读Django Internationalization and Localization文档。
如果没有特定国家/地区的格式模块,Django将使用settings
,这样就可以了。您可以尝试在项目中使用Django shell来尝试等效的调用:
en
唯一存在与Django相关的文件I / O的地方是加载格式模块,因此只要$ ./manage.py shell
>>> import datetime
>>> datetime.datetime.strptime('2015-10-19', '%Y-%m-%d').date()
datetime.date(2015, 10, 19)
可用,那么这种失败的可能性就会受到限制,{{{ 1}},这似乎不太可能。 Django将从django/conf/locale/en/formats.py
检索格式的后备,因此您可以将此行添加到datetime
:
settings