我正在使用django将图像上传到数据库(POST请求),并在站点中显示相同的图像。但由于某些原因,我的图像没有上传
型号.py-
from django.db import models class image_classification(models.Model): pic=models.ImageField(upload_to='images')
视图.py
from django.shortcuts import render from .models import image_classification from django.http import HttpResponse, HttpResponseRedirect # def home(request): # print('here you go ') # images=image_classification.objects.all() # url=images[len(images)-1].pic.url # return render(request,'home.html',{'print':'everything is ok','image':url}) def home(request): print('here you go ') images=[] images=image_classification.objects.all() if len(images) > 0: url=images[len(images)-1].pic.url else: url="place holder image url" return render(request,'home.html',{'print':'everything is ok','image':url}) #handles uploaded images def uploadImage(request): print('image handling ') img= request.FILES['image'] image=image_classification(pic=img) image.save() return HttpResponseRedirect('/')
应用程序的url
from django.urls import path from . import views from django.conf import settings from django.conf.urls.static import static urlpatterns = [ path('',views.home,name='home') ] urlpatterns+= static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns+= static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
项目的url.py(如果需要)
from django.contrib import admin from django.urls import path, include from ImageClassifier import views from django.conf.urls.static import static from django.conf import settings urlpatterns = [ path("admin/", admin.site.urls), path('', include('ImageClassifier.urls')), ]
last settings.py(不确定是否需要)
MEDIA_ROOT= os.path.join(BASE_DIR,'ImageClassifier/media/') MEDIA_URL= '/media/' STATIC_URL = "/static/" STATIC_ROOT= os.path.join(BASE_DIR, 'static')
这是我运行时在网页上遇到的错误