Сделать элемент HTML в форме textarea - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь настроить мою форму администратора, изменив change_form. html. Вот что у меня есть:

В моем файле forms.py у меня есть:

class ProblemForm(forms.ModelForm):

slug = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'link'}))

topic = forms.ModelChoiceField(label = "Topic", queryset = Topic.objects.all())

questionToProblem = forms.CharField(label = "Question", widget = CustomAdminPageDown(attrs={'id' : 'mathInputForQuestion', 'onchange':'Preview.Update()'}))

solutionToProblem = forms.CharField(label = "Solution", widget = CustomAdminPageDown(attrs={'id' : 'mathInputForSolution'}))

class Meta:

model = Problem

fields = ('questionToProblem', 'solutionToProblem')

В моей форме изменения. html, у меня есть:

{% extends "admin/change_form.html" %}

{% block after_field_sets %}{{ block.super }}

<body>

<p>Preview is shown here:</p>

<div id="MathPreview" style="border:1px solid; padding: 3px; width:50%; height: 20%; margin-top:20px" class="format-paragraph"></div>

<div id="MathBuffer" style="border:1px solid; padding: 3px; width:50%; height: 20%; margin-top:20px;

visibility:hidden; position:absolute; top:0; left: 0"></div>

</body>

Однако я хочу, чтобы значение было в форме вопроса, так что когда я смотрю на страницу, div находится прямо под текстовой областью. Как бы я это сделал?

1 Ответ

0 голосов
/ 27 января 2020

Вместо этого вы можете написать собственный виджет, который является подклассом CustomAdminPageDown, и в зависимости от используемой версии Django существует несколько способов расширения блока предварительного просмотра.

Django шаблон переопределения виджета

Кроме того, вы можете связать файл, содержащий Preview.Update () javascript, используя класс Media, чтобы поддерживать порядок.

https://docs.djangoproject.com/en/dev/topics/forms/media/#topics -форма СМИ

...