django2.0 快速实现文件上传
本操作环境:
虚拟环境:django2.0 python3.5(应该python3.6都可以使用) window10
1.创建项目与应用(项目和应用都是自己制定的)
创建项目:django-admin startproject FileUpload
然后进入FileUpload文件夹里面 cd FileUpload
在当前目录下面创建一个app应用
python manage.py startapp app
操作顺序如下,workon django2.0,—->这个相当于开启虚拟环境(django2.0是虚拟环境的名称,自己随便定)
F:\益达学习\django\django2.0项目>workon django2.0
(django2.0) F:\益达学习\django\django2.0项目>django-admin startproject fileUpload
(django2.0) F:\益达学习\django\django2.0项目>cd fileUpload
(django2.0) F:\益达学习\django\django2.0项目\fileUpload>python manage.py startapp app
fileUpload文件夹的目录结构如下:查看目录结构的—>tree /f
│ manage.py
│
├─app
│ │ admin.py
│ │ apps.py
│ │ models.py
│ │ tests.py
│ │ views.py
│ │ __init__.py
│ │
│ └─migrations
│ __init__.py
│
└─fileUpload
│ settings.py
│ urls.py
│ wsgi.py
│ __init__.py
│
└─__pycache__
settings.cpython-35.pyc
__init__.cpython-35.pyc
打开fileUpload\fileUpload\settings.py文件,将app应用添加进去
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app',
]
2.设计/修改Model(数据库)
打开fileUpload\app\models.py文件,添加如下内容:
from django.db import models
# Create your models here.
class User(models.Model):
username = models.CharField(max_length = 30)
headImg = models.FileField(upload_to= './upload/')
#所以是用upload_to来指定文件存放的前缀路径
def __str__(self):
return self.username
创建两个字段,username**存放用户名,headImg存放上传文件的路径**
生成迁移文件,同步到数据库
python manage.py makemigrations
python manage.py migrate
会在fileUpload\app\migrations文件夹下面多了一些文件出来,自己做的时候可以先打开那个文件夹,执行那个命令的时候观察变化
(django2.0) F:\益达学习\django\django2.0项目\fileUpload>python manage.py makemigrations
Migrations for 'app':
app\migrations\0001_initial.py
- Create model User
(django2.0) F:\益达学习\django\django2.0项目\fileUpload>python manage.py migrate
Operations to perform:
Apply all migrations: admin, app, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth