У меня есть таблица MySQL с языками, и я хочу иметь поле флага рядом с каждым языком. Это существующая ситуация, которую я пытаюсь преобразовать из другого языка в Django.
Это модель, которая у меня есть для моих языков:
class Language(models.Model):
language = models.CharField(primary_key=True,unique=True, max_length=8)
description = models.CharField(max_length=35)
flag = models.BinaryField(editable=True, blank=True, null=True)
class Meta:
db_table = 'language'
verbose_name_plural = "language"
def __str__(self):
return self.description
Мне уже удалось отобразить флаги в моем списке. Но я также хочу иметь функцию загрузки в моей форме, но я не могу понять это.
forms.py
class LanguageForm(forms.ModelForm):
class Meta():
model = Language
fields = '__all__'
widgets = {
'flag': forms.FileInput()
}
views.py
class CreateLanguageView(LoginRequiredMixin,CreateView):
login_url= '/login/'
redirect_field_name = 'app/language_list.html'
form_class = LanguageForm
model = Language
def form_valid(self, form):
if form.is_valid():
data = form.cleaned_data
self.object.save()
return HttpResponseRedirect(self.get_success_url())
def get_success_url(self):
return reverse('language_list')