2013-10-04 23 views
15

我還是新來Django和引導,所以我嘗試了Django的引導包:https://github.com/dyve/django-bootstrap3錯誤加載樣品的Django bootstrap3模板

所包含網頁上的樣本模板(帶的變化在表單操作URL):

{% load bootstrap3 %} 

{# Load CSS and JavaScript #} 

{% bootstrap_css %} 
{% bootstrap_javascript %} 

{# Display a form #} 

<form action="/search/" method="post" class="form"> 
     {% csrf_token %} 
     {% bootstrap_form form %} 
     {% bootstrap_form_buttons %} 
       <button type="submit" class="btn btn-primary"> 
         {% bootstrap_icon "star" %} Submit 
       </button> 
     {% end_bootstrap_form_buttons %} 
</form> 

給我的錯誤:

BootstrapError at/
Parameter "form" should contain a valid Django Form. 

在這條線

{% bootstrap_form form %} 

我不完全確定問題是什麼,因爲這是自述文件中包含的示例模板。

+0

嘗試{%bootstrap_form |形式%} – Jannis

+2

我發生跌入了同樣的錯誤。 我的錯誤是,我沒有在指向包含表單的模板的類中繼承'FormView'。 –

回答

0

你並不需要bootstrap_button標籤。我試圖找到他們,但他們沒有聲明在源...

+1

呃我之前問過這個問題,目前我只是在沒有django包的情況下使用bootstrap,因爲它給了我更大的控制權。 – dl8

4

{% bootstrap_form form %}是由django-bootstrap3提供的模板標籤,期望一個Django窗體實例,所以「form」參數是上下文變量在django文檔中提到displaying-a-form-using-a-template

創建形式在頁面解釋,然後替換他們在模板中使用的HTML代碼:在你的問題的示例代碼

<form action="/contact/" method="post">{% csrf_token %} 
{{ form.as_p }} 
<input type="submit" value="Submit" /> 
</form> 

現在Parameter "form" contains a valid Django Form

希望這有助於

0

{% extends 'bootstrap3/bootstrap3.html' %}在你的代碼段的開始。它應該是你的文件,bootstrap3.html是在這個佔位符。

2

你只需要提供一個對象表單服務器端,它必須有一個上下文名稱「form」。

在你views.py,包括像這樣

from django.shortcuts import render 

def index(request): 
    from django import forms 
    class NameForm(forms.Form): 
     your_name = forms.CharField(label='Your name', max_length=100) 

    template = "your_template.html" 
    context = { "form" : NameForm() } 
    return render(request, template, context) 

現在,你不應該有任何錯誤。

希望它有幫助

0

錯誤非常簡單,請確保您傳遞有效的django表單。在我看來,我通過form.as_p()而不是form,並且出現此錯誤。花了我一會兒才注意到。可能它仍然會幫助別人。

1

試試這個

{# Load the tag library #} 
 
{% load bootstrap3 %} 
 

 
{# Load CSS and JavaScript #} 
 
{% bootstrap_css %} 
 
{% bootstrap_javascript %} 
 

 
{# Display django.contrib.messages as Bootstrap alerts #} 
 
{% bootstrap_messages %} 
 

 
{# Display a form #} 
 
<form action="/url/" method="post">{% csrf_token %} 
 
{{ form.as_p }} 
 
<input type="submit" class="btn btn-primary" value="Submit" /> 
 
</form>