我已经看过很多关于这个的帖子,我怀疑我的模板中有些东西已经关闭了?我正在重定向到正确的URL,但页面上没有任何数据。我已经阅读了文档,并查看了多个SO问题,我显然遗漏了一些东西。
点击修改按钮会重定向到看似正确的网址 - 例如,点击显示的第四个项目上的'edit'
会将我重定向到/edit_item/5/
,但页面为空白,因此可能会出现问题表格或模板?
这是我的表单:
class MyModelForm(ModelForm):
class Meta:
model = MyModel
fields = '__all__'
widgets = {
'start_date': forms.widgets.SelectDateWidget(),
'end_date': forms.widgets.SelectDateWidget()
}
以下是我的观点:
def edit_item(request, item_id):
this_item = items.objects.get(pk=item_id)
form = MyModelForm(instance=this_item)
if request.method =='POST':
form = MyModelForm(request.POST, instance=this_item)
if form.is_valid():
form.save()
return redirect('itemsbydate.html')
else:
form = MyModelForm(instance=this_item)
return render_to_response('itemsbydate.html', {
'item_id':item_id, 'form':form, 'this_item':this_item
}, RequestContext(request))
itemsbydate.html
文件:
{% for item in items %}
<tr>
<td>{{item.start_date}}</td>
<td>{{item.end_date}}</td>
<td>{{item.description}}</td>
<td>{{item.category}}</td>
<td>
<form action="/edit_item/{{item_id.id}}/" method="post">
{% csrf_token %}
<input type="submit" value="edit item">
</form>
</td>
{% endfor %}
我的urls.py
:
url(r'^edit_item/(?P<item_id>[0-9]+)/$', views.edit_item, name='edit_item'),