Как использовать django-trix в проекте Django? - PullRequest
0 голосов
/ 05 мая 2018

Я добавил трикс в свой model.py

from trix.fields import TrixField
.....
class Article(models.Model):
    title = models.CharField(max_length=100)
    content = TrixField('content')
    time_added = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return 'Article Name: {}, Added: {}'.format(self.title, self.time_added)
.....

Показывает результаты вроде на этой фотографии ниже в моем Django-admin, который мне очень понравился: enter image description here

но он не показывает желаемый результат в моем шаблоне enter image description here The View.py

class FeaturedArticle(ListView):
    model = Article
    context_object_name = 'featuredarticles'
    template_name = 'blog/blog.html'

    def get_queryset(self):
        return Article.objects.filter(time_added__lte=timezone.now()).order_by('-time_added')[:5]

Шаблонная часть

<!-- article area  -->
    <div class="container">
        <div class="row">
            <div class="col-md-12 text-center">
                <h2 class="blog-post-title">Featured Articles</h2>
                <!-- tempalate tag here -->
                    {% for article in featuredarticles %}
                        <hr>
                        <h3>{{article.title}}</h3>
                        <p>{{article.content}}</p>
                <!-- tempalate tag here -->
                    {% endfor %}
            </div>
        </div>
    </div><br>
<!-- article area end -->

Как мне исправить это

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

<p>{{article.content|safe}}</p>

или использовать mark_safe в представлениях

из django.utils.safestring import mark_safe

содержание = "<h1>hi</h1>"
return render (запрос, hi.html, {'content': content})

0 голосов
/ 05 мая 2018

article.content содержит HTML, который Django будет по умолчанию использовать. Вы можете использовать фильтр safe , чтобы избежать экранирования содержимого:

{{ article.content|safe }}

Это, конечно, означает, что произвольный HTML может быть вставлен на вашу страницу, поэтому вы должны быть осторожны с тем, кто имеет возможность редактировать это поле.

...