Django管理页面上传保存图片详解
1、登录Ubuntu系统,打开终端,进入python虚拟环境,创建django工程,在工程内创建应用workon djandotestdjango-adminstartproject djuploadcd djuploadpython manage.py startapp book
2、使用pip安装图片操作包Pillowpip install Pillow
3、在工程的配置文件中注册应用,添加上传图片保存路径,修改为使用mysql数据库cd 蟠校盯昂djuploadvi s髫潋啜缅ettings.py修改部分的settings.py文件如下:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', # 数据库主机 'PORT': 3306, # 数据库端口 'USER': 'root', # 数据库用户名 'PASSWORD': 'your password', # 数据库用户密码 'NAME': 'djtest' # 数据库名字,第4步会新建的数据库 }}INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'book.apps.BookConfig',]MEDIA_ROOT=os.path.join(BASE_DIR,"static_files/media")在工程的根目录创建static_files文件夹,在其中创建media文件夹cd ..mkdir static_filescd static_filesmkdir media
4、连接本机mysql数据库,创建第3步配置的djtest数据库mysql -uroot -p输入密码create database djtest default charset=utf8; #创建数据库djtest在工程的同名文件夹的__init__.py文件,添加两行代码使django工程可以和mysql数据库交互cd ../djuploadvi __init__.py__init__.py文件如下;from pymysql import install_as_MySQLdbinstall_as_MySQLdb()
5、在book应用中编写models.py文件,创建img模型类,添加ImageFie盟敢势袂ld字段。cd ..vi book/mo颊俄岿髭dels.pymodels.py文件如下:from django.db import models# Create your models here.class img(models.Model): name = models.CharField(max_length=20) image = models.ImageField(upload_to='booktest', verbose_name='图片', null=True)
6、生产数据库迁移文件python manage.py makemigrations迁移数据库python manage.py migrate
7、创建超级用户python manage.py createsuperuser
8、注册模型类,这样管理页面就可以操作img模型类vi book/admin.pyadmin.py文件如下:from django.contrib import adminfrom .models import img# Register your models here.admin.site.register(img)~
9、运行django服务器python mange.py runserver
10、本机输入网址http://127.0.0.1:8000/admin登录后上传图片
11、回到控制台,打开工程根目录/static_files/media/booktest文件夹,下面就有刚刚上传的文件