Pie*_*NAY 11 django ajax django-templates django-registration twitter-bootstrap
我有一个项目,我需要为未经过身份验证的用户弹出模式窗口.
此模式将允许直接登录或创建帐户.
所以它将包含两种形式:
django.contrib.auth.forms.AuthenticationFormregistration.forms.RegistrationForm
这是我的观点,以获得两种形式:
def ajax_registration(request):
obj = {
'login_form': AuthenticationForm(),
'registration_form': RegistrationForm(),
}
return render(request, 'common/ajax_registration.html', obj)
Run Code Online (Sandbox Code Playgroud)
我的模板显示表格标签
<ul class="nav nav-tabs">
<li><a href="#tab1" data-toggle="tab">{% trans 'Login' %}</a></li>
<li><a href="#tab2" data-toggle="tab">{% trans 'Registration' %}</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
{{ login_form|bootstrap }}
</div>
<div class="tab-pane" id="tab2">
{{ registration_form|bootstrap }}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是:由于我使用AJAX来显示这个模式,我怎样才能确认所选的形式,最好使用已经书面django-registrations register和django.contrib.auth login看法?
除了Maddog的回答之外,你需要一些javascript来将表单提交回呈现表单的URL.使用jquery可能是这样的:
$('form').submit(function(e){
e.preventDefault();
var form = $(e.target);
$.ajax({
url: '{% url YOUR_REGISTRATION_URL %}',
type: 'post',
data: account_form.serialize() + '&' + form.serialize(),
error: function(xhr, ajaxOptions, thrownError){ alert(thrownError); },
success: function(){}
})
})
Run Code Online (Sandbox Code Playgroud)
你不需要使用表单提交元素,你可以使用$().click()的任何元素.
| 归档时间: |
|
| 查看次数: |
11626 次 |
| 最近记录: |