「Opis」と呼ばれるTextFieldを含む私のモデル用の入力フォームがありました。モデルのインスタンスが正常にデータベースに保存されました。しかし、その特定のビットを書き込んだり格納したりするときに、ユーザーにもっと多くの選択肢を与えたいと思っていました。だから私は、TinyMCEのをインストールしHTMLFieldにTextFieldを変更し、一緒に私のテンプレートの先頭にTextFieldがHTMLFieldに変更された後にフォームがデータベースに保存されなくなりました
<head> {{ form.media }} </head>
を置くと、これは、TinyMCEのウィジェットとしてレンダリングされる入力フィールドのために十分であることを発見しました。つまり、私は古いModelFormを保持していて、表示されたものが変更されました。これは素晴らしく便利だと思いました。ただし、ユーザーがフォームを送信すると、何も起こりません。フォームが有効だと思われますが、データベースは更新されません。
def createcourse(request):
if request.method=='POST':
form = KursForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/polls/usersite')
else:
form = KursForm()
return render(request, 'polls/createcourse.html', {"form" : form})
とcreatecourse.html中:私のviews.pyで
class KursForm(ModelForm):
class Meta:
model = Kurs
fields = "__all__"
:私のforms.pyで
from tinymce.models import HTMLField
class Kurs(models.Model):
[skipping...]
opis = HTMLField()
[skipping the rest]
:私のmodels.pyで
:
<head>{{ form.media }}</head>
<form action="" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
[送信]をクリックすると、観察可能な効果はありません。 TextFieldをHTMLFieldに変更するまで、すべてが正常に機能しました。私は間違って何をしていますか?
編集:そこにTinyMCEを約上げsimilar issueがあるが、私は私の場合には
class KursForm(ModelForm):
opis = forms.CharField(widget=TinyMCE(attrs={'required': False, 'cols': 30, 'rows': 10}))
class Meta:
model = Kurs
fields = "__all__"
にforms.pyでフォームを編集することを報告したい助けにはならなかったようです。