python - 当我尝试使用 .write() 编辑文件时,它会添加很多空行
问题描述
我正在尝试使用此代码更改文件的内容。当我编辑文件时它可以工作,但它也添加了很多额外的空行。
def edit(request,name):
if request.method=="GET":
content=util.get_entry(name)
return render(request,"encyclopedia/edit.html",{
"content":content,
"name": name
})
else:
entry = open(f"./entries/{name}.md","w+")
entry.write(request.POST["content"])
entry.close()
return redirect(f"/wiki/{name}")
这是文件
# Python
Python is a programming language that can be used both for writing **command-line scripts** or building **web applications**.
解决方案
cs50 项目。我已经完成了。以下代码适用于编辑功能
class EntryForm(forms.Form):
title = forms.CharField(label="Entry Title")
content = forms.CharField(widget=forms.Textarea(), label="Entry Content")
def edit(request, title=None):
if request.method == "POST":
form = EntryForm(request.POST)
if not title:
if form.is_valid():
title = form.cleaned_data['title']
content = form.cleaned_data['content']
else:
return render(request, "encyclopedia/edit.html", {
"form": form
})
elif title == form.data['title']:
title = form.data['title']
content = form.data['content']
util.save_entry(title, content)
return HttpResponseRedirect(reverse('wiki:greet', args=[title]))
if not title:
return render(request, "encyclopedia/edit.html", {
"form": EntryForm()
})
data = {'title': title, 'content': util.get_entry(title)}
populated_form = EntryForm(initial=data)
return render(request, "encyclopedia/edit.html", {
"title": title,
"form": populated_form,
"edit": True
})
推荐阅读
- reactjs - 如何调试新克隆的 React Native 应用程序
- c - 在 C 中定义字符串的细节是什么?
- css - Vuetfiy - 替代 flexbox 浮动
- bash - 对于带参数的 bash
- java - 有没有办法可以将所有大于前一个的数字相加?
- javascript - Angular v9 问题:无法解析 h 的所有参数:(?, ?, ?)
- rust - 将相同变量绑定到共享特征的不同类型的模式
- javascript - 创建一个函数来切片而不使用 slice()
- python - 如何通过 tkinter 画布动作中的变量 = false 条件取消正在运行的函数
- functional-programming - OCaml 采用一个列表来形成一个带有约束的列表列表