tinyMCE HTMLField在Django中无法正确显示结果

时间:2018-09-14 18:12:20

标签: html django-models django-forms django-templates django-views

这是我在模板上所做的事情。

<p class="card-text"> 
{{ profile.about}}    
</p>
<h5>skills:</h5>
<p class="card-text">{{ profile.skills }}</p>
</div>

这是我从 views.py

返回的内容
def about(request):
     profiles = models.profiles.objects.all()
     return render(request,'main/about.html',{'profiles':profiles})

这是我在models.py中所做的

#from tinymce.models import HTMLField
about = HTMLField()

浏览表单: IMAGE OF A FORM

这就是我在显示它时得到的东西。 它不显示富文本格式,而是显示html标签。

the result of tinyMCE

1 个答案:

答案 0 :(得分:0)

首先,您需要一个表单,而不是配置文件对象。

forms.py

class ProfileForm(forms.ModelForm):
    class Meta:
        fields = ['skills']
        model = Profile.  # Model names should be CamelCase

views.py

def about(request, profile_id):
    profile = get_object_or404(Profiles.objects.all(), pk=profile_id)
    form = ProfileForm(instance=profile)
    return render(
        request,
        'main/about.html',
        {'profile':profile, 'form': form}
    )

您还需要使用媒体文件填写表单

main/about.html

...
{{ form.media }}
...