ich eine Form Klasse, die wie ..Django UpdateView bildet
#forms.py
class ExampleForm(forms.Form):
color = forms.CharField(max_length=25)
description = forms.CharField(widget=forms.Textarea, max_lenght=2500)
und meiner Meinung nach sieht wie folgt aussieht ..
#views.py
class EditExample(UpdateView):
model = Example
fields = ['color', 'description']
template_name = 'example.html'
def get_success_url(self):
pass
Vorlage:
#example.html
{% for field in form %}
{% if field.errors %}
<div class="control-group error">
<label class="control-label">{{ field.label }}</label>
<div class="controls">{{ field }}
<span class="help-inline">
{% for error in field.errors %}{{ error }}{% endfor %}
</span>
</div>
</div>
{% else %}
<div class="control-group">
<label class="control-label">{{ field.label }}</label>
<div class="controls">{{ field }}
{% if field.help_text %}
<p class="help-inline"><small>{{ field.help_text }}</small></p>
{% endif %}
</div>
{% endif %}
{% endfor %}
Wenn die Vorlage gerendert wird, werden alle Felder korrekt angezeigt und ausgefüllt, aber die 'Beschreibung' erscheint nicht in einem Textarea, sondern in einem normalen Feld. Ich nehme an, dies liegt daran, dass UpdateView von 'model = something' und nicht von 'form = something' ausgeht.
ich versucht habe ..
#views.py
class EditExample(UpdateView):
model = Example
form_class = Exampleform
template_name = 'example.html'
def get_success_url(self):
pass
aber ich habe eine Django-Fehler sagen "init() bekam ein unerwartetes Stichwort Argument 'instance'.
Gibt es eine Möglichkeit erfolgreich das bekommen Beschreibung zu machen, in einem Textarea mit Updateview? Wenn nicht, wie würde ich dies zu erreichen?
Dank!
Ich habe ein ModelForm erstellt und es mit 'form_class =' in die Ansicht gesteckt. Alles funktioniert gut, aber ich bekomme immer noch nicht die Beschreibung in einem Textbereich Widget angezeigt. Es ist ein Schmerz in den Hintern zu versuchen, eine Beschreibung zu bearbeiten, die Hunderte von Wörtern lang in einer normal großen Form ist! Noch mehr Ideen? Vielen Dank –