一怼:横州侧畔千帆过,漏出你这个小瘪三,我劝天公重抖擞,劈死你这个王八蛋(by.阅后即瞎)
先说笔者所使用的版本,笔者使用的是django1.8.4的版本,不同版本可能有不同请按照实际情况处理,本文只做参考。
创建虚拟环境
虚拟环境的目的按照笔者的理解,它的作用就是:搭建独立的python运行环境,不与其他产生冲突。保证了程序运行的独立性和稳定性。
系统版本的不同可能有不同的,先说乌班图的如何创建。
乌班图创建虚拟环境
mkvirtualenv -p python3 虚拟环境的名字
退出命令:deactivate
开启命令:workon 虚拟环境的名字
删除命令:rmvirtualenv 虚拟环境的名字
Windows创建虚拟环境
安装一个名为virtualenv的包
在命令窗口输入一下命令系统会自动下载安装
pip install virtualenv
安装完成后创建虚拟环境
virtualenv 虚拟环境名
在创建的环境目录下查找打开Scripts文件夹
在Scripts目录下运行activate.bat
cd ../Scripts打开创建虚拟环境目录的文件夹
activate.bat
执行好这步之后我们就可以打开pycharm了
打开settings
点击那个小齿轮
在笔者标红的位置打开刚刚创建的虚拟环境添加python.exe并保存
点击齿轮下方的绿色加号添加我们要使用的包
创建Django项目
在我们的命令行下打开我们想项目的文件夹位置
输入
django-admin startproject 项目名字
这样我们就创建完成了我们的第一个Django项目
在pycharm中打开创建项目的文件夹。
我们看到如下文件
manage.py 项目管理文件,用来管理项目
watercar:项目同名文件夹
├── init.py表示我们这个文件可以被使用过
├── settings.py 配置文件(数据库,邮箱等的配置)
├── urls.py项目的所有的地址配置
└── wsgi.py 就是我们django 小型服务器的入口文件
进入虚拟环境后,我们注意到命令行的变化在输入命令前有了这样一个单词(venv) ,如果存在它,恭喜你进入虚拟环境了,我们的一切操作都离不开这个小东西的使用,所以程序报错一定要查看是否在虚拟环境里进行操作。
创建APP
我们创建APP的目的就是为了对Django项目进行可视化操作。
创建语句:
python manage.py startapp 模块名字
创建之后在INSTALLED_APPS中添加我们创建的模块
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'模块名字'
)
连接数据库
创建之后打开虚拟环境中的settings.py文件进行修改
首先我们我们要让这个项目来访问我们的数据库
在settings中找到DATABASES进行修改
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.使用的数据库名称(mysql等)',
'NAME':'数据库名',
'USER':'用户名',
'PASSWORD':'密码',
'PORT':端口,
'HOST':'地址'
}
}
新建表
我们将数据库链接成功后我们在pycharm中创建我们的第一张表吧
在APP模块的models.py文件下输入如下代码。
class 表名(models.Model):
user_name = models.CharField(max_length=20)
password = models.CharField(max_length=20)
email = models.CharField(max_length=20)
phone = models.IntegerField()
其中models.后为数据类型
在输入完成后,我们进行迁移,在终端输入如下指令。
python manage.py makemigrations#生成迁移文件
在生成迁移文件后
python manage.py migrate#执行迁移文件
笔者在这里给读者简单解释一下,在我们的Django项目到数据库的连接中有一个orm中间控件,我们上传数据需要先将文件上传到orm中间控件上,然后上传。
所以我们需要生成迁移文件,后执行文件迁移后才能在数据库中查看到我们的上传内容。
PS:一定不要忘记安装对数据库进行操作的包
外键
笔者创建了表二存放地址,使用外键与表一进行关联。
什么是外键:外键,一对多的关系中,外键写在多的一方
书写位置models.py,创建语句:
class UserAddress(models.Model):
detail = models.CharField(max_length=50)
user = models.ForeignKey('表一')
orm查询
先说书写位置:APP模块下,views.py或models.py
orm查询语句
查询所有
表名.objects.all()
查询指定的对象
obj1 = 表名.objects.get(查找特征,例如id=1)
查询指定的字段
obj1.user_name
修改指定字段的值
obj1.password = 54321
obj3.user_name='老张'
obj3.password = 123456
obj3.email='123'
obj3.phone=123
obj3.save()
查询老张所有的地址
obj1 = 表名.objects.get(查找特征,例如id=1)
obj1.表2名_set.all()