Djano - невозможно отобразить загруженное изображение из базы данных mySQL
Я настроил все как нужно, но все равно не могу отобразить изображения из моей базы данных.
settings.py :
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
models.py
class Etudiants(models.Model):
numeroetudiant = models.BigIntegerField(db_column='numeroEtudiant', blank=True, null=True) # Field name made lowercase.
nom = models.CharField(max_length=255, blank=True, null=True)
prenom = models.CharField(max_length=255, blank=True, null=True)
groupe = models.BigIntegerField(blank=True, null=True)
photo = models.ImageField(blank=False, null=False, upload_to='images/')
email = models.CharField(max_length=255, blank=True, null=True)
class Meta:
managed = False
db_table = 'etudiants'
def __str__(self):
return self.nom + " " + self.prenom
views.py :
def ajoutetudiant(request):
submitted = False
if request.method == "POST":
form = EtudiantsForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return HttpResponseRedirect("../ajoutetudiant/")
else:
form = EtudiantsForm()
if 'submitted' in request.GET:
submitted = True
return render(request, 'ajoutetudiant.html', {'form': form})
urls.py (из моего проекта) :
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('notes.urls')),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
.html :
<img src="{{etudiant.photo.url}}"/>
Картинки сохраняются в моей базе данных, как вы можете видеть здесь. Но отобразить их невозможно.
Мое поле в базе данных MySQL - "blob". Если оно не должно быть blob, что я должен поставить?
Ваше поле MySQL для photo
должно быть:
`photo` varchar(100) NOT NULL,