Мне нужно обновить базу данных, как я могу это сделать? - PullRequest
0 голосов
/ 22 февраля 2020

Я пытался создать приложение списка дел, и не было никаких проблем, пока, когда я добавлял кнопку редактирования, когда я нажимал кнопку редактирования, он отображал страницу редактирования с текстом, который должен быть отредактирован, но кнопка отправки, которая предназначена для изменения базы данных, не работает, я думаю, что мне нужно что-то добавить в файл views.py, но я не знаю, что.

viws.py

def edit(request, id):
created_items = Create.objects.get(id=id)
return render(request, 'my_app/edit.html', {"created_items": created_items})

urls.py

urlpatterns = [
path('edit/<int:id>/', views.edit, name='edit'),
]

models.py

class Create(models.Model):
added_date = models.DateTimeField()
text = models.CharField(max_length=200)

edit. html

{% extends 'index.html' %}

{% block body %}
    <div align="center">
        <h1>Edit your post!</h1>
        <div class="container form-group">
            <h1>↓</h1>
            <form method="POST">{% csrf_token %}
                <textarea class="form-control" name="content" id="id" rows="3" style="text-align: center;">{{ created_items.text }}</textarea>
                <button type="submit" class="btn btn-outline-success" style="margin-top: 5px;">Submit</button>
            </form>
        </div>
    </div>
{% endblock %}

1 Ответ

0 голосов
/ 22 февраля 2020

Вы отправите POST-запрос, когда нажмете «Отправить», и вам нужно будет перехватить этот запрос в какой-нибудь функции, например:

if request.method == 'POST':
  edited_text = request.POST.get('text') ## 'text' might be changed. I don't know how you handle the request.

  related_id = request.POST.get('id') ## You need to take updated id. (somehow?)
  Create.objects.filter(id=related_id).update(text=edited_text) ## That will do the job.

Надеюсь, это поможет,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...