jjzjj

Filefield

全部标签

python - 如何使 django 中的 FileField 成为可选的?

我在django中有一个带有文本框和文件字段的表单。它应该允许用户将文本粘贴到该框中或上传文件。如果用户已经将文本粘贴到框中,我不需要检查文件字段。如何使forms.FileField()可选? 最佳答案 如果您在forms.Form派生类中使用forms.FileField(),您可以设置:classform(forms.Form):file=forms.FileField(required=False)如果您使用的是models.FileField()并且有一个forms.ModelForm分配给该模型,则可以使用classam

python - Django 使用测试夹具测试 FileField

我正在尝试为某些具有FileField的模型构建测试。模型如下所示:classSolutionFile(models.Model):'''Afilefromasolution.'''solution=models.ForeignKey(Solution)file=models.FileField(upload_to=make_solution_file_path)我遇到了两个问题:当使用./manage.pydumpdata将数据保存到fixture时,文件内容不会被保存,只有文件名被保存到fixture中。虽然我发现这是预期的行为,因为文件内容没有保存到数据库中,但我想以某种方式将此

python - Django 使用测试夹具测试 FileField

我正在尝试为某些具有FileField的模型构建测试。模型如下所示:classSolutionFile(models.Model):'''Afilefromasolution.'''solution=models.ForeignKey(Solution)file=models.FileField(upload_to=make_solution_file_path)我遇到了两个问题:当使用./manage.pydumpdata将数据保存到fixture时,文件内容不会被保存,只有文件名被保存到fixture中。虽然我发现这是预期的行为,因为文件内容没有保存到数据库中,但我想以某种方式将此

python - Django FileField(或ImageField)open()方法为有效文件返回None?

让我这样说:模型.py:classTask(models.Model):...seq_file=models.FileField(upload_to='files/',blank=True,null=True)...ajax.py(我用的是dajaxice但没关系):...defstartTask(request,name):task=Task.objects.get(task_name=name)data=task.seq_file.open()filename=os.path.join(settings.MEDIA_ROOT,task.seq_file.name)ifnotos.p

python - Django FileField(或ImageField)open()方法为有效文件返回None?

让我这样说:模型.py:classTask(models.Model):...seq_file=models.FileField(upload_to='files/',blank=True,null=True)...ajax.py(我用的是dajaxice但没关系):...defstartTask(request,name):task=Task.objects.get(task_name=name)data=task.seq_file.open()filename=os.path.join(settings.MEDIA_ROOT,task.seq_file.name)ifnotos.p

python - 在 django 中对 FileField 进行单元测试的干净方法是什么?

我有一个带有FileField的模型。我想对它进行单元测试。django测试框架有很好的方法来管理数据库和电子邮件。FileFields有类似的东西吗?如何确保单元测试不会污染实际应用程序?提前致谢PS:我的问题几乎与DjangotestFileFieldusingtestfixtures重复。但它没有一个公认的答案。只是想再次询问有关此主题的新内容。 最佳答案 Django提供了一个很好的方法来做到这一点-使用SimpleUploadedFile或TemporaryUploadedFile。如果您只需要存储一些标记数据,Simpl

python - 在 django 中对 FileField 进行单元测试的干净方法是什么?

我有一个带有FileField的模型。我想对它进行单元测试。django测试框架有很好的方法来管理数据库和电子邮件。FileFields有类似的东西吗?如何确保单元测试不会污染实际应用程序?提前致谢PS:我的问题几乎与DjangotestFileFieldusingtestfixtures重复。但它没有一个公认的答案。只是想再次询问有关此主题的新内容。 最佳答案 Django提供了一个很好的方法来做到这一点-使用SimpleUploadedFile或TemporaryUploadedFile。如果您只需要存储一些标记数据,Simpl

python - 使用 django 强制执行唯一的上传文件名?

使用django在服务器上使用唯一文件名重命名照片的最佳方法是什么?我想确保每个名称只使用一次。是否有任何pinax应用程序可以做到这一点,也许使用GUID? 最佳答案 使用uuid。要将其与您的模型联系起来,请参阅Djangodocumentation对于FileFieldupload_to。例如,在您的models.py中定义以下函数:importuuidimportosdefget_file_path(instance,filename):ext=filename.split('.')[-1]filename="%s.%s"%

python - 使用 django 强制执行唯一的上传文件名?

使用django在服务器上使用唯一文件名重命名照片的最佳方法是什么?我想确保每个名称只使用一次。是否有任何pinax应用程序可以做到这一点,也许使用GUID? 最佳答案 使用uuid。要将其与您的模型联系起来,请参阅Djangodocumentation对于FileFieldupload_to。例如,在您的models.py中定义以下函数:importuuidimportosdefget_file_path(instance,filename):ext=filename.split('.')[-1]filename="%s.%s"%

python - 将 Django 的 FileField 设置为现有文件

我在磁盘上有一个现有文件(例如/folder/file.txt)和Django中的FileField模型字段。当我这样做时instance.field=File(file('/folder/file.txt'))instance.save()它将文件重新保存为file_1.txt(下次是_2等)。我明白为什么,但我不想要这种行为-我知道我希望与字段关联的文件真的在那里等着我,我只想让Django指向它。怎么做? 最佳答案 只需将instance.field.name设置为文件的路径例如classDocument(models.Mod