Когда я пытаюсь отредактировать файл с помощью .write (), он добавляет много пустых строк - PullRequest
1 голос
/ 11 июля 2020

Я пытаюсь изменить содержимое файла с помощью этого кода. Когда я редактирую файл, он работает, но он также добавляет много дополнительных пустых строк.

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**.


1 Ответ

0 голосов
/ 28 июля 2020

Проект 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
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...