Django在视图中从db查询初始表单值。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django在视图中从db查询初始表单值。相关的知识,希望对你有一定的参考价值。
我想在视图中设置初始值以进行编辑。例如,我想编辑已经存储在数据库中的书,设置数据库查询的初始值。这在django中是否可行?
views.py。
from .models import Book
from .forms import BookForm
def edit_book(request,book_id):
query_book=Book.objects.get(pk=book_id)
Book_form_to_edit =BookForm(initial=query_book)
context={
'book_form':Book_form_to_edit,
}
return render(request,'edit_book.html',context)
Thank you in advance.
答案
是的,可以尝试参考下面的代码。我已经编辑了你的代码,所以你会抓住一些想法。
from .models import Book
from .forms import BookForm
def edit_book(request,book_id):
query_book=Book.objects.get(pk=book_id)
Book_form_to_edit =BookForm(request.POST, instance=query_book)
if Book_form_to_edit.is_valid():
Book_form_to_edit.save()
context={
'book_form':Book_form_to_edit,
}
return render(request,'edit_book.html',context)
并在url.py中确保得到book_id。
path('<int:book_id>/Edit/', views.edit_view, name='edit')
以上是关于Django在视图中从db查询初始表单值。的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ViewPager 中从 Activity 移动到 Fragment?未找到片段 ID 的视图