【发布时间】:2010-07-11 18:03:37
【问题描述】:
我有一个这样的模型:
class MyModel(models.Model):
name = models.CharField(max_length=255)
code = models.FileField()
当一个新的 MyModel 被提交时,我想允许 code 字段为空,在这种情况下我需要 Django 创建一个空文件(具有任意名称)。
问题是:正确的方法是什么?
我在文档中找不到任何相关内容,因此在将 request.FILES 提供给 MyModelForm() 之前,我一直在查看手动编辑它,但这对我来说似乎是一个肮脏的 hack……有什么想法吗?
谢谢。
【问题讨论】:
-
您打算如何使用提交到代码字段的值? FileField 听起来不太合适。
-
这是一个包含 Python 代码的文件,然后在安全的运行时环境中执行。它需要先进行预编译,因此将其放在单独的文件中看起来最方便。
-
坦率地说,想到这一点让我感到很沮丧。这是一个巨大的安全漏洞。
-
我欢迎任何其他关于如何安全地执行不受信任的代码(由站点用户提供)的想法?
标签: python django django-forms filefield autocreate