2017-07-13 26 views
2

フォームがプレーンに見えて、ブートストラップが表示されませんが、ボタンが表示されません。ボタンを追加してクリックすると(リフレッシュ)、データはデータベースに保存されません。私は多くの方法を試みました。何が間違っているようですか?どんな助けも高く評価されます。Djangoブートストラップ/ CSSやボタンが表示されません。

forms.py

class PlotForm(forms.ModelForm): 
    helper = FormHelper() 
    helper.form_tag = False 
    helper.form_method = 'POST' 

    class Meta: 
     model = Plot 
     fields = '__all__' 

ビュー:

def plot_form(request): 
    return render(request, 'plot_form.html', {'form': PlotForm()}) 

HTML:

{% load crispy_forms_tags %} 
    <form action="" method="POST"> 
    {% crispy form %} 
     <input type="submit" class="btn btn-default" value="save"> 
+0

これはあなたの問題を解決しますか? – bhansa

+0

いいえ、それは@Bhansa – Inconnu

答えて

1

まず{% csrf_token %}が欠落しています。 2番目私はそれが正しいと覚えている場合は、{{ form|crispy }}を使用してフォームをロードする必要があります。

そして第三に、私はあなたが望むように、フォームのスタイルを設定することができます。このプラグインでWidget Tweaks

<form method='POST' action="/" enctype='multipart/form-data'> 
{% load widget_tweaks %} 
{% csrf_token %} 
{{ form.first_name |add_class:"customCSS1 customCSS2" }} 
{{ form.second_name |add_class:"customCSS3 customCSS4" }} 
</form> 
{{ form.media.js }} 

を使用することをお勧めします。すべてのCssクラスが動作します。 Crispyはいいですが、ドキュメントを手に入れたことがあります。フォームのスタイルを設定する際には、常に回避策がいくつかあります。 Widget Tweakを使用すると、任意のCSSクラスを適用できます。あなたが本当にサクサクと周りにあなたの方法を知っている場合はその時点までに取得することができますが、 ....多くのことを行うことができます私はいくつかの点で切り替えられ、今ではすべてのコメントを残していない場合に役立ちます魅力

希望のように動作します: )

編集

私はちょうどあなたのviews.pyで何かを見ました。あなたが私が知る限り正しい形式を参照しているわけではありません。

from appName.forms import PlotForm 

def plot_form(request): 
    form = PlotForm(request.POST or None, request.FILES or None) #request files is only required when you want to upload a file 
    if form.is_valid(): 
    instance = form.save(commit = False) 
    ... 
    instance.save() 
    #messages.success(request, 'form was saved') #optional 
    context = { 
    'form':form, 
    } 
    return render(request, 'AppName/plot_form.html', context) 

多分それはトリックを行います。 {'form': PlotForm()}の "()"がコードを壊してしまうかどうかは、フォームの検証はしていません。

+0

私は覚えている限り、クリスピーフォームはcrsfトークンを処理するので、それを使用する必要はありません。私はクリスピーフィルターではないテンプレートタグを使用しています。情報をありがとうが、私はそれを達成するためにクリスピーのフォームを使用する方法を探していた。 :/ – Inconnu

+0

@Achilles ok私はちょうど何かを編集しました、多分これは助けます。とにかく幸運を私はあなたがそれが新鮮で動作するようになることを願っています。 – hansTheFranz

関連する問題