我从视图中生成了一个html页面(“ContactMaster.html”)。 ContactMaster.html使用自定义模板标记在DIV中创建FORM。
自定义模板标记(%form%---%endform%)创建一个DIV,其中包含从模型生成的空表单。
- class PrefixForm(ModelForm)
class Meta:
model = Prefix
自定义模板标记使用文件“formJson-reload.html”并呈现所提供的数据(PrefixForm,'classDiv'等)
现在我希望FORM(在自定义模板标记生成的DIV内)加载特定PK的数据(填写相应的字段)。所以我可以编辑它并稍后保存。
我该怎么做?欢迎提出任何意见或建议。谢谢 !!
选项:
感谢您的时间!!
以下是更多信息:
使用自定义模板标记
的示例 {%form%}
START_DICT
{
'classDiv' : 'container',
'classDiv' : 'module',
'divId' : 'Prefix',
'title' : 'Prefix JSON',
'formId' : 'PrefixForm',
'classForm' : 'None',
'idSubmit' : 'SendPrefix',
}
END_DICT
START_FORM
PrefixForm
END_FORM
FILE:"formJson-reload.html"
{%endform%}
视图的摘录,创建包含此自定义模板标记的整个网页:
@login_required
def ContactMaster(request):
Forms = ['Prefix',]
dic_return = help_get_forms(Forms,request)
return render_to_response('ContactMaster.html',dic_return,
context_instance=RequestContext(request))
摘录“formJson-reload.html”:
<div class="{{classDiv}}" id="{{divId}}" title="{{title}}">
<form id="{{formId}}" method="post" action="item_form"
{% if classForm != "None" %}
class="{{classForm}}>
{% else %}
>
{% endif %}
<table id="T_{{formId}}">
<tbody>
{%for field in set %}
{% if field.label != "Owner" %}
{% if field.label != "owner" %}
<tr>
<td>
{{field.label_tag}} :
</td> <td> {{field}}
{% if field.field.required %}<em>*</em>{% endif %}
</td>
</tr>
{% endif %}
{% endif %}
{%endfor%}
</tbody>
</table>
<input type="submit" id="{{idSubmit}}" value="Add"
onclick="submit('{{formId}}');
return false;" />
</form>
</div>
答案 0 :(得分:0)
如果您已经加载了页面并且不想重新加载完整页面,那么您肯定需要AJAX。这正是该缩写的第一个A(异步)所代表的:加载内容而不重新加载整个页面。据我所知,你也必须扩展你的观点。你可以在这里找到ajax和django的一个很好的例子:
http://www.b-list.org/weblog/2006/jul/02/django-and-ajax/
或者在这里:
http://lethain.com/entry/2007/dec/11/two-faced-django-part-5-jquery-ajax/
这两篇文章应该从你的权利开始。打架吧:)
如果您只是在谈论使用django中的数据从模板生成表格时填充表单,我想您正在阅读Django文档的这篇文章:
http://docs.djangoproject.com/en/1.2/topics/forms/