2015-11-25 45 views
0

我想用django-cripsy來定製我的表單。但似乎脆皮形式不是呈現提交按鈕和表單操作屬性。 這裏是我的模板渲染我在表格。(login.html的)django-crispy-form不呈現提交按鈕,也不呈現表單動作屬性

{% extends '_base.html' %} 
{% block content %} 
{{ login_error_message }} 

    {% load crispy_forms_tags %} 
    {% crispy form form.helper %} 

{% endblock %} 

這裏是視圖

class LoginView(FormView): 
    form_class = LoginForm 
    template_name = "login.html" 
    success_url = reverse_lazy('home') 

    def form_valid(self, form): 
     email = form.cleaned_data['email'] 
     password = form.cleaned_data['password'] 
     referrer = self.request.POST.get('referrer') 
     user = authenticate(email=email, password=password) 

     if user is not None: 
      # if user.is_active: 
      login(self.request, user) 
      if referrer !="": 
       self.success_url = referrer 
      return super(LoginView, self).form_valid(form) 
     else: 

      return render(self.request, "login.html", {'form': form, 'login_error_message': "Invalid username and password."}) 

    def get_context_data(self, **kwargs): 
     result = super(LoginView, self).get_context_data(**kwargs) 
     param = self.request.GET.get('next', '') 
     result.update({'param': param}) 
     return result 

這裏是我的表單類

class LoginForm(forms.Form): 
    def __init__(self, *args, **kwargs): 
     super(LoginForm, self).__init__(*args, **kwargs) 
     self.helper = FormHelper() 
     self.helper.form_id = 'id-form' 
     self.helper.form_class = 'form-horizontal' 
     self.helper.form_method = 'post' 
     self.helper.form_action = 'login' 

    email = forms.EmailField(max_length=100) 
    password = forms.CharField(max_length=100) 

上午什麼我錯過了?請幫忙 。

回答

0

從Django文檔(https://docs.djangoproject.com/en/1.8/topics/templates/):

{# this won't be rendered #} 

你輸出的形式,即您的模板由於某種原因,一系列的Django的意見。爲什麼?

+0

4日上市可以看出他們是一些舊的東西..這就是爲什麼我評論他們。 – sajid