【发布时间】:2011-06-08 04:30:33
【问题描述】:
我不确定是否应该在此处或在 serverfault 中发布此问题,因为它涉及 django 和 nginx 配置文件。
我有一个 django 视图,它从包含文件字段的表单接收 POST 数据。
请求通过一个 nginx 模块(上传模块),该模块获取文件上传字段,将它们存储到磁盘位置,然后在可以找到每个文件的本地路径中附加额外的字段,以及它们的名称和其他元数据,然后从 POST 中剥离原始文件字段。
不幸的是,附加的字段不是很灵活,它们的名称包含句点 (.) 或破折号 (-)。
这一切都很好,但问题出在 python 方面。如果想使用表单验证传入的 POST 数据,但我不知道如何定义一个表单,该表单的名称包含句点或破折号。有没有办法告诉 django 表单该字段的名称与用于存储它的变量的名称不同?
我的解决方法是干脆不使用 django 表单并以另一种方式清理传入的数据(如何?)。
或者如果有人有在 nginx 中使用上传模块的经验并且知道如何使用指令
upload_set_form_field $upload_field_name.name "$upload_file_name";
upload_set_form_field $upload_field_name.content_type "$upload_content_type";
upload_set_form_field $upload_field_name.path "$upload_tmp_path";
以便 $upload_field_name.XXXX 附加字段不使用句点? (破折号有效,但这又会破坏 python 的标识符,任何其他字符都会破坏配置文件)
在这两种情况下有什么建议吗?
谢谢!
【问题讨论】:
标签: python django forms upload nginx