Как сделать так, чтобы моя функция редактирования перенаправляла на опцию Post. Django
Я создаю опцию редактирования для своей записи. Но вместо того, чтобы перенаправить меня на страницу редактирования, она ведет меня на страницу добавления для создания новой формы. Как мне перенаправить на страницу редактирования.
Также, как мне убедиться, что предыдущий ввод пользователя будет отражаться, когда он нажмет на кнопку редактирования. Я использовал инициалы - это лучший способ сделать это, поскольку я использую не модели, а forms.Form.
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):
entry = util.get_entry(title)
if request.method == "POST":
form = AddPageForm(request.POST, initial={
"title": title,
"content": content
})
if form.is_valid():
util.save_entry(title, content)
return redirect('encyclopedia:entrypage', title=title)
else:
form = AddPageForm()
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>
<!-- <input="text" name="title" value="{{game.title}}" />
<input="text" name="genre" value="{{game.genre}}" /> -->
{% endblock %}
URLS.PY
app_name = "encyclopedia"
urlpatterns = [
path("add_page", views.add_page, name="addpage"),
path("edit_page/<str:title>", views.edit_page, name="editpage")
]