django-tinymce使用django-admin但不使用表单模板

zengzsys  于 2023-04-13  发布在  Go
关注(0)|答案(2)|浏览(112)

在django admin中django-tinymce正在工作,但在模板中tinymce widget不工作。请提供解决方案
django model
我的model.py

class Question(models.Model):
nameuser = models.ForeignKey(Profile,on_delete=models.CASCADE)
title = models.CharField(max_length=200,blank=True,null=True)
timestamp = models.DateTimeField(auto_now_add=True)
contents = tinymce.HTMLField(blank=True,null=True)
tags = models.ManyToManyField(Tags)
id = models.UUIDField(default=uuid.uuid4, unique=True,primary_key=True,editable=False)

form.py

class QuestionForm(forms.ModelForm):
class Meta:
    model = Question
    fields = ('title','contents','tags')
    
def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.fields['title'].widget.attrs.update({'class': 'form-control','placeholder':'Enter Title'})
    self.fields['tags'].widget.attrs.update({'class': 'form-control'})

我的views.py

def createQue(request):
User = request.user
form=QuestionForm()
if request.method =='POST':
    form = QuestionForm(request.POST,request.FILES)
    if form.is_valid():
        blog = form.save(commit=False)
        blog.author=User
        blog.save()
        return redirect('home')
context={'form':form}
return render(request,'blog_form.html',context)

我的模板文件

<form method="POST" enctype="multipart/form-data">
  {% csrf_token %} {% for field in form %}
  <div class="row">
    <div class="mb-3">
      <div class="col-sm-10">{{field}}</div>
    </div>
  </div>
  {% endfor %}

在模板化中,它只显示空白表单控件
template view

7eumitmz

7eumitmz1#

我尝试了所有的方法,但没有工作,所以或者我用ckeditor作为RichTexteditor和它的管理和模板工作,按照文件的ckeditor它的工作正常为我

nbnkbykc

nbnkbykc2#

这是因为你没有在你的模板中传递{{ form.media }}。我的原因是因为我没有像这样添加它:

{% extends "base.html" %}

{% block content %}
  <form method="post">
    {% csrf_token %}
    {{ form.media }}
    {{ form.as_p }}
    <button type="submit">Submit</button>
  </form>
{% endblock %}

相关问题