Ich benutze ColorField, die ich im Internet gefunden habe, und es funktioniert in Ordnung, wenn ich die Farbe von Admin-Seite einstellen, aber wenn ich mein eigenes Formular erstelle ich diesen Fehler : 'ColorField' Objekt hat kein Attribut 'Modell' Django
'ColorField' object has no attribute 'model'
Er sagt: "Fehler bei der Vorlage Rendering", und zeigt, dass der Fehler in dieser Zeile ist:
class Event(models.Model):
name = models.CharField(blank = False, max_length = 100)
beggining_time= models.DateTimeField(blank = True)
ending_time = models.DateTimeField(blank = True)
color = ColorField(default='#FF0000')
manager = models.ForeignKey(Manager, on_delete=models.CASCADE)
slug = models.SlugField(unique = True)
:
<div class="form-group form-group-lg">
<label class="control-label" for="formGroupInputLarge">Color: </label>
{{ form.color }}
</div>
das ist mein models.py ist
Das ist meine views.py Datei:
def calendar(request, pYear, pMonth, id):
"""
Show calendar of events for specified month and year
"""
lYear = int(pYear)
lMonth = int(pMonth)
lContestEvents = Smena.objects.filter(manager= Manager.objects.filter(user= User.objects.filter(id = id)))
lCalendar = WorkoutCalendar(lContestEvents).formatmonth(lYear, lMonth)
lPreviousYear = lYear
lPreviousMonth = lMonth - 1
if lPreviousMonth == 0:
lPreviousMonth = 12
lPreviousYear = lYear - 1
lNextYear = lYear
lNextMonth = lMonth + 1
if lNextMonth == 13:
lNextMonth = 1
lNextYear = lYear + 1
lYearAfterThis = lYear + 1
lYearBeforeThis = lYear - 1
form = AddEvent(request.POST or None)
if form.is_valid():
instance = form.save(commit = False)
instance.manager= Manager.objects.filter(user= User.objects.filter(id = id))
instance.save()
return render(request, 'template.html', {'Calendar' : mark_safe(lCalendar),
'Month' : lMonth,
'MonthName' : named_month(lMonth),
'Year' : lYear,
'PreviousMonth' : lPreviousMonth,
'PreviousMonthName' : named_month(lPreviousMonth),
'PreviousYear' : lPreviousYear,
'NextMonth' : lNextMonth,
'NextMonthName' : named_month(lNextMonth),
'NextYear' : lNextYear,
'YearBeforeThis' : lYearBeforeThis,
'YearAfterThis' : lYearAfterThis,
'form' : form,
})
Das ist meine forms.py Datei:
class AddEvent(forms.Form):
name= forms.CharField()
beggining_time= forms.DateTimeField()
ending_time= forms.DateTimeField()
color = ColorField()
class Meta:
fields = ['name', 'beggining_time', 'ending_time', 'color']
Wie gesagt, ich Ereignisse von Admin-Seite hinzufügen kann, aber ich kann das Formular nicht angezeigt auf meiner Website. Ich bekomme den erwähnten Fehler. Danke für Ihre Hilfe.
Woher kommt das 'ColorField'? So etwas gibt es im Django nicht. – Anonymous
Gefunden hier: https://github.com/jaredly/django-colorfield – P3P5