Моя функция редактирования создает новую страницу вместо редактирования предыдущей страницы views.py
Я отредактировал свой views.py, но у меня ошибка, каждый раз, когда я редактирую предыдущую запись, он создает новую запись с тем, что я отредактировал, вместо того, чтобы редактировать эту копию. Я пытался исправить возможные ошибки. пожалуйста, помогите
VIEWS.PY
class AddPageForm(forms.Form):
title = forms.CharField(max_length=20)
content = forms.CharField(widget=forms.Textarea(
attrs={
"class": "form-control",
"placeholder": "Tell us more!"
})
def edit_page(request, title):
if request.method == "GET":
# title = request.GET.get('title')
content = util.get_entry(title)
form = AddPageForm(initial={"content": title})
return render(request, "encyclopedia/editpage.html",
{"form": form})
else:
form = AddPageForm(request.POST)
if form.is_valid():
# title = form.cleaned_data['title']
content = form.cleaned_data['content']
util.save_entry(title, content)
return redirect('encyclopedia:entrypage', title)
return render(request, 'encyclopedia/editpage.html', {'form': form})
РЕДАКТИРОВАТЬ СТРАНИЦУ
{% block body %}
<h1>Edit {{ title }}</h1>
<form action="" method="post">
{% csrf_token %}
{% form %}
<input type="submit" value="Submit" class="btn btn-secondary">
</form>
СТРАНИЦА ВХОДА
{% block body %}
{{ content|safe }}
<a href="{% url 'encyclopedia:editpage' title=title %}" class="btn btn-primary">Update</a>
{% endblock %}
URLS.PY
app_name = "encyclopedia"
urlpatterns = [
path("", views.index, name="index"),
path("wiki/<str:title>", views.entry_page, name="entrypage"),
path("search", views.search, name="search"),
path("add_page", views.add_page, name="addpage"),
path("edit_page/<str:title>", views.edit_page, name="editpage")
]
UTILS.PY
def save_entry(title, content):
"""
Saves an encyclopedia entry, given its title and Markdown
content. If an existing entry with the same title already exists,
it is replaced.
"""
filename = f"entries/{title}.md"
if default_storage.exists(filename):
default_storage.delete(filename)
default_storage.save(filename, ContentFile(content))
def get_entry(title):
"""
Retrieves an encyclopedia entry by its title. If no such
entry exists, the function returns None.
"""
try:
f = default_storage.open(f"entries/{title}.md")
return f.read().decode("utf-8")
except FileNotFoundError:
return None
Я использую forms.Form, потому что это задание, и требование гласит, что мы должны использовать его вместо forms.Model