我已经能够在提交之前成功使用 django 1.4 中的 FormPreview 进行预览,以便在 Event 模型中添加新记录。喜欢功能。
这是我如何做到的:
#urls.py
url(r'^addevent/', EventFormPreview(EventForm)),
#views.py
class EventFormPreview(FormPreview):
def done(self, request, cleaned_data):
pdb.set_trace()
new_event = Event(**cleaned_data)
new_event.user = request.user
new_event.save()
return render_to_response("event/thanks.html",
{'cleandata': cleaned_data,},
context_instance=RequestContext(request),
)
现在,我希望在我的视图中有一个类似的 editevent() ,它会经历相同的预览过程和最终提交。唯一的区别是表单将预先填充我要编辑的数据。如何通过编写最少的代码并利用现有的预览流程来做到这一点?这是我认为urls.py 部分的样子:
url(r'^(?i)editevent/(?P<id>\d+)/$', EditEventFormPreview(EventForm)),
我怀疑我将不得不重新定义 EventFormPreview() 中的 init() 并在那里加载数据。请让我知道如何做到这一点..