歡迎您光臨本站 註冊首頁

Django實現後臺上傳並顯示圖片功能

←手機掃碼閱讀     niceskyabc @ 2020-06-07 , reply:0

1.安裝pillow

pip install Pillow
 

2.創建app

python manage.py startapp upload
 

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', #add this  ]    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' #add this     ],    },   },  ]    #picture path setting  MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace("", "/")  MEDIA_URL = '/media/'

 

urls.py

  from django.contrib import admin  from django.urls import path,include  from django.conf.urls.static import static  from django.conf import settings      urlpatterns = [   path('admin/', admin.site.urls),   path('', views.index),   path('upload/', include(('myupload.urls', 'myupload'), namespace='myupload')), # add uppoad urls  ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)      #add image path

 

4. app 設定
 

models.py

  from django.db import models    class User(models.Model):   name = models.CharField(verbose_name='姓名', max_length=10)   avator = models.ImageField(verbose_name='頭像', upload_to='upload/%Y/%m/%d')

 

admin.py

  from django.contrib import admin  from .models import *    # Register your models here.  admin.site.register(User)

 

urls.py

  from django.contrib import admin  from django.urls import path, register_converter, re_path  from . import views    urlpatterns = [   path('', views.index, name='index'), # 上傳首頁  ]

 

views.py

  from django.shortcuts import render  from .models import User  from django.http import HttpResponse    # Create your views here.  def index(request):   users = User.objects.all()return render(request, 'upload/index.html', locals())

 

5 . 前臺設定
 

project 目錄下 templates/upload/index.html
 

----------------------------------------------------------------------------------------

  Title{% for user in users%}{{ user.name }}{% endfor %}

 

6. migraiton

python manage.py makemigrations
 python manage.py migrate
 python manage.py createsuperuser
 python manage runserver 0.0.0.0:8000
 

7.進行管理後臺上傳user 圖片http://localhost:8000/admin
 

8.顯示 http://localhost:8000/upload/

Django實現前臺上傳並顯示圖片功能

                                                       

   


[niceskyabc ] Django實現後臺上傳並顯示圖片功能已經有292次圍觀

http://coctec.com/docs/python/shhow-post-237379.html