Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django ContentFile()意外的空行(Django.core.files.base)_Python_Django - Fatal编程技术网

Python Django ContentFile()意外的空行(Django.core.files.base)

Python Django ContentFile()意外的空行(Django.core.files.base),python,django,Python,Django,我对django.core.files.base的ContentFile函数有问题 我编写了一个函数,可以将文本保存到.md文件中 def save(title,content) filename = f"entries/{title}.md" if default_storage.exists(filename): default_storage.delete(filename) default_storage.save(filena

我对django.core.files.base的ContentFile函数有问题

我编写了一个函数,可以将文本保存到.md文件中

def save(title,content)
    filename = f"entries/{title}.md"
    if default_storage.exists(filename):
        default_storage.delete(filename)
    default_storage.save(filename, ContentFile(content))
我在表单中使用一个简单的文本区域,将内容提交到将保存它的路由。
问题是保存后,每一行都会重复:

Hello
World
变成

Hello

World
这种情况经常发生。如果你有两个空行,你最终会有四个空行


我做错什么了吗?

我也有同样的问题,下面是我的解决方案:

ContentFile在以字符串形式提供内容时使用StringIO,在以ByteArray形式提供内容时使用BytesIO。我猜这可能是StringIO类的问题,所以我简单地将我的内容转换为字节数组,并传递固定参数,使ContentFile类由Tesio初始化为stream_类:

byte_list = []
a_byte_array =  bytearray(content,"utf-8")
    for byte in a_byte_array:
    binary = bin(byte)
    byte_list.append(binary)
save(query, a_byte_array)

我通过将save_entry函数的最后一行改为

default_storage.save(filename, ContentFile(content.encode('ascii')))
根据这个答案