Python Django-从纯文本读取和写入
我试着用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
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')