File.write возвращает два \n\n\n
У меня есть файл разметки под названием CSS.md
:
# CSS
CSS is a language that can be used to add style to an [HTML](/wiki/HTML) page.
Моя основная цель - иметь поле ввода, где я могу редактировать этот файл, сохранить его и вернуть веб-страницу с новым файлом. Вот код:
def edit_page(request, page):
data = {'edit':''}
with open(os.path.join('.\entries',f'{page}.md'), 'r', encoding='utf-8') as editing_page:
for line in editing_page.readlines():
data['edit'] += line
edit = EditPage(data)
if request.method == 'GET':
return render(request, 'encyclopedia/edit_page.html', {
'edit':edit,
'page':page,
})
elif request.method == 'POST':
form = EditPage(request.POST)
if form.is_valid():
content = form.cleaned_data['edit']
with open(os.path.join('.\entries',f'{page}.md'), 'w', encoding='utf-8') as edited_page:
edited_page.write(content) # FIXME ta duplicando o \n
return HttpResponseRedirect(f'/wiki/{page}')
Когда я запускаю print(editing_page.readlines())
перед нажатием кнопки отправки (метод POST):
['# CSS\n', '\n', 'CSS is a language that can be used to add style to an [HTML](/wiki/HTML) page.\n']
После нажатия кнопки submit, даже без каких-либо изменений, он дублирует \n
:
['# CSS\n', '\n', '\n', '\n', 'CSS is a language that can be used to add style to an [HTML](/wiki/HTML) page.']
Я пытался сделать writelines
, но ничего не получилось...