在更新模板中,我的表單沒有被預填充,但是更新功能作業正常。當我嘗試決議特定 ID 的實體時,表單保持為空
我的 view.py :
def update_component(request, pk):
component = Component.objects.all()
component_id = Component.objects.get(id=pk)
form = ComponentModelForm(instance=component_id)
if request.method == 'POST':
form = ComponentModelForm(request.POST, instance=component_id)
if form.is_valid():
form.save()
return HttpResponseRedirect(request.path_info)
context = {
'components': component,
'form': ComponentModelForm(),
'component_id':component_id,
}
return render(request, 'update_component.html', context)
模板中的表格:
<div>
{% load widget_tweaks %}
<form class="component-form-flex" method='POST' action=''>
{% csrf_token %}
<div style="width:50%;" >
<br>
<span class="component-label-text">Name</span>
{% render_field form.name %}
<span class="component-label-text">Manufacturer</span>
{% render_field form.manufacturer %}
<span class="component-label-text">Model</span>
{% render_field form.model %}
<span class="component-label-text">Serial Number</span>
{% render_field form.serial_number %}
<span class="component-label-text">Price</span>
{% render_field form.price %}
<span class="component-label-text">Note</span>
{% render_field form.note %}
{% render_field form.parent %}
<input type="submit" class="form-submit-button" value='Update Component' />
</div>
<div>
<img class="maintenance-nav-list-img" src="{{ component_id.image.url }}" />
{% render_field form.image %}
</div>
</form>
</div>
urls.py:
from django.urls import path
from . import views
appname = 'maintenance'
urlpatterns = [
path('', views.index , name='maintenance'),
path('<int:pk>/update/', views.update_component , name='update_component'),
]
uj5u.com熱心網友回復:
這只是一個錯字,而不是
context = {
'components': component,
'form': ComponentModelForm(),
'component_id':component_id,
}
它應該是
context = {
'components': component,
'form': form, # <--- HERE !!!!
'component_id':component_id,
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/409951.html
標籤:
