我试图将django-registration
中的注册表单模板插入到另一个html文档中。
原始的注册模板工作得很好,用户保存在DB中:
当我尝试使用{% extend registration/myRegistrationFormTemplate.html %}
在任何其他html文档中插入注册表单时,会发生这种情况。字段未显示,提交按钮不起作用。
http://oi50.tinypic.com/6fyujl.jpg
此外,当我尝试使用Jquery方法.load加载myRegistrationFormTemplate.html
时,会发生这种情况。显示字段但提交按钮不起作用。
http://oi45.tinypic.com/5vorc9.jpg
问题是:为什么会这样?什么是通常的程序?
答案 0 :(得分:0)
您可能需要使用include,它允许您使用当前上下文呈现包含的页面。但是,这完全取决于您如何设计模板结构以及它们如何扩展其他模板。这个答案可能解释了不同之处:https://stackoverflow.com/a/2863753/2074398
答案 1 :(得分:0)
谢谢FallenAngel你是对的,我错过了查看信息。并且感谢您告诉我“包括”almalki,现在它的工作正常。在我的项目中我在这个视图中使用2个表单和一个jquery模式窗口。为了简化我的解决方案,我只会使用一个表格。我希望这对某人有用。
<强>解:强> 您将包含表格的模板视图
def patrimonio_view(request,
template_name='home/patrimonio.html'):
#OTHER DB QUERYS
pat = patrimonio.objects.all()
ciu = ciudad.objects.all()
if request.method == 'POST':
if "Registrar_usuario" in request.POST:
#USER REGISTRATION FORM RELATIVE
return register_usuario()
if "Registrar_comerciante" in request.POST:
#MERCHANT REGISTRATION FORM RELATIVE
return register_comerciante()
#RENDER
return render_to_response(template_name,{
'patrimonio':pat,
'ciudad':ciu,
}, context_instance=RequestContext(request))
urls.py
url(r'^patrimonio/$','patrimonio_view',
{'backend_registro_usuario': 'Hesperides.apps.accounts.regbackend_usuario.DefaultBackend','form_class_usuario':RegistrationForm_usuario}, name='vista_patrimonio'),
在模板中,您将包含以下表单:
{% include "registration/registration_form_usuario.html" %}