Django实现后台上传并显示图片功能
1.安装pillow
pipinstallPillow
2.创建app
pythonmanage.pystartappupload
3.project设定
settings.py
INSTALLED_APPS=[ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'upload.apps.MyuploadConfig',#addthis ] TEMPLATES=[ { 'BACKEND':'django.template.backends.django.DjangoTemplates', 'DIRS':[os.path.join(BASE_DIR,'templates')], 'APP_DIRS':True, 'OPTIONS':{ 'context_processors':[ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.media'#addthis ], }, }, ] #picturepathsetting MEDIA_ROOT=os.path.join(BASE_DIR,'media').replace("\\","/") MEDIA_URL='/media/'
urls.py
fromdjango.contribimportadmin fromdjango.urlsimportpath,include fromdjango.conf.urls.staticimportstatic fromdjango.confimportsettings urlpatterns=[ path('admin/',admin.site.urls), path('',views.index), path('upload/',include(('myupload.urls','myupload'),namespace='myupload')),#adduppoadurls ]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)#addimagepath
4.app设定
models.py
fromdjango.dbimportmodels classUser(models.Model): name=models.CharField(verbose_name='姓名',max_length=10) avator=models.ImageField(verbose_name='头像',upload_to='upload/%Y/%m/%d')
admin.py
fromdjango.contribimportadmin from.modelsimport* #Registeryourmodelshere. admin.site.register(User)
urls.py
fromdjango.contribimportadmin fromdjango.urlsimportpath,register_converter,re_path from.importviews urlpatterns=[ path('',views.index,name='index'),#上传首页 ]
views.py
fromdjango.shortcutsimportrender from.modelsimportUser fromdjango.httpimportHttpResponse #Createyourviewshere. defindex(request): users=User.objects.all()returnrender(request,'upload/index.html',locals())
5.前台设定
project目录下templates/upload/index.html
----------------------------------------------------------------------------------------
Title {%foruserinusers%}
- {{user.name}}
- {%endfor%}