我需要更新数据库吗?

问题描述 投票:0回答:1

我一直在尝试创建待办事项列表应用程序,直到我添加了编辑按钮时才出现问题,当我按下编辑按钮时,它会显示带有必须编辑的文本的编辑页面,但是应该更改数据库的提交按钮不起作用,我想我需要向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 %}
python html django edit
1个回答
0
投票

当您单击提交时,您将发送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.

希望它有帮助,

© www.soinside.com 2019 - 2024. All rights reserved.