Python Django-从纯文本读取和写入

Python Django-从纯文本读取和写入,python,django,Python,Django,我试着用Django的纯文本进行读写 基本上,我想打开一个文件,获取一个特定的单词,然后将其更改为其他任何内容 以下是我所拥有的: def address_L1(): file = open("interfaces.txt","r") content = file.read() file.close() address = re.findall('address\s(.*?)\s',open('interfaces.txt','r').read()) if

我试着用Django的纯文本进行读写

基本上,我想打开一个文件,获取一个特定的单词,然后将其更改为其他任何内容

以下是我所拥有的:

def address_L1():
    file = open("interfaces.txt","r")
    content = file.read()
    file.close()
    address = re.findall('address\s(.*?)\s',open('interfaces.txt','r').read())
    if address:
        print address[0]
    else:
        print 'no Address found!'
    return address[0]
在这里,我打开一个文件,搜索
地址
旁边的单词,它是
192.168.5.5
,效果非常好

def get_interfaces(request):
    address = str(address_L1())
    if 'address' in request.POST:
        write_template(request)#This is for my writing function
    return render(request, 'interfaces.html', {'address':address})
在这里,我将
地址中的内容传递给模板,我的意思是,
192.168.5.5
将显示在模板中

<form method="post" action="">{% csrf_token %}
    <label for="your_name">Address: </label>
    <input id="your_name" type="text" name="address" value="{{ address }}">
    <br>
    <input type="submit" class="btn  btn-success btn-xs" value="Guardar Cambios">
</form>
这里基本上我想做的是获取
输入地址中的内容并替换我输入的内容,我的意思是当我运行代码时,我会看到我的输入带有
192.168.5.5
我想删除该值,然后输入
192.168.0.0
并更改我的值。当我尝试这样做时,会出现以下错误:

“列表”对象没有“替换”属性

我怎样才能解决这个问题?我怎样才能成功地用纯文本书写?
我做错了什么提前感谢

正如错误所说,
filedata
是一个列表。这是因为
f.readlines()
提供了一个列表,其中每个元素都是文件中的一行


如果您希望将整个内容作为单个字符串,请改为执行
f.read()

正如错误所述,
filedata
是一个列表。这是因为
f.readlines()
提供了一个列表,其中每个元素都是文件中的一行


如果您想将整个内容作为单个字符串,请改为执行
f.read()

谢谢,现在由于
change\u address\u L1=request.GET.GET(“address”,None)
如果我尝试
filedata=filedata.replace(GET\u address,'0.0.0'),我得到了以下错误
按预期工作,但我想为
更改地址\u L1
替换
get\u address
。如何解决此问题?由于表单的操作是“post”,因此值将在
请求中。post
而不是
请求中。GET
。谢谢Daniel,更改了我的项目,但之后该
列表索引超出范围
谢谢,现在,由于
change\u address\u L1=request.GET.GET(“address”,None)
如果我尝试
filedata=filedata.replace(GET\u address,'0.0.0'),我得到了以下错误
按预期工作,但我想为
更改地址\u L1
替换
get\u address
。如何解决此问题?由于表单的操作是“post”,因此值将在
请求中。post
而不是
请求中。GET
。谢谢Daniel,更改了我的项目,但之后该
列表索引超出范围
def write_template(request):
    if request.method == 'POST':
        get_address = address_L1()
        change_address_L1 = request.GET.get("address", None)#Doing something with my input field in template
        filedata= None
        with open('interfaces.txt', 'r') as f:
            filedata = f.readlines()
            filedata=filedata.replace(get_address , change_address_L1)
            with open('interfaces.txt', 'wb') as f:
                f.writelines(filedata)
    return render(request, 'interfaces.html')