有人可以向我解释以下内容吗?如何更新代码,以便在创建和编辑 obj 时使用表单(只有一个代码)?例子
模型.py:
class Car(models.Model):
car = models.CharField('#', max_length=5)
def __unicode__(self):
return str(self.id)
表格.py:
class AddCar(forms.Form):
car = forms.CharField(label='#', max_length=5, required=True,
widget=forms.TextInput(attrs={'class':'', 'title': '#',
'placeholder': '#', 'required': 'true'}))
视图.py:
@csrf_protect
@login_required
def add_car(request):
if request.method == 'POST':
form = AddCar(request.POST)
if form.is_valid():
pass
else:
form = AddCar()
return render(request, 'add_car.html', {'form': form, })
所以,我需要创建一个新的网址
url(r'^edit/(?P<car_id>\d+)/$', 'cars.views.edit_car', name='edit_car'),
然后在意见中:
@csrf_protect
@login_required
def edit_car(request, car_id):
car = get_object_or_404(Car, pk=car_id)
下一步是什么?如何使用AddCar
带有来自的值的表单car
?如果用户更新表单中的信息,如何检查?
谢谢。
更新
在edit_car
我使用(文档)
form = AddCar(car)
但我有一个错误:'Car' object has no attribute 'get'
for all {{ form.field }}
in template。