Django学习系列(一.初识)
Posted HUTEROX
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习系列(一.初识)相关的知识,希望对你有一定的参考价值。
文章目录
前言
千呼万唤使出来告别了该死的前端页面的学习(尽管有很多神器但是基础的html css js jquery vue还是得知道呀),终于进入到服务器后端的搭建了。告别了socket和wsgc和Java版本的自制的简陋的HTTP(Java版简易wsgc)服务器后,终于迎来的正式的后端框架的学习,虽然我打算Java一栈到底但是还是太年轻了,现阶段使用python体验生活不好吗。
Django的安装
虚拟环境的配置
在使用django之前建议先设置虚拟环境,这样做的目的是为了让你的环境更加的干净。
具体如何去做,可以见我先前写的博客:博客链接
这个写的是使用virtualenv和virtualenvwapper去搭建一个虚拟环境。这个效果是你直接使用pycharm是一样的,上面都有介绍,在Linux下和在Windows下。
你要是直接在pycharm的话只需要鼠标点点就好了。当然这里补充一下如何直接使用virtualenv在window下面使用,这个在我上面的博客里面没有说到。
1.创建项目文件
2.使用指令 virtualenv env 创建虚拟环境(此时文件名为env)
3.找到Script目录
4.执行启动脚本(关闭时启动关闭脚本)
之后在你的IDE里面指定虚拟环境就好了。
直接用pycharm的话就比较友好了。
创建Django项目
Django项目的目录结构
他们之间的关系如下图:
创建项目
django-admin startproject projectname
创建应用
django-admin startapp appname
创建完之后进行应用注册,pycharm可能创建django项目的时候不会默认帮你创建一个应用项目所以还要控制台自己创建,此外,pycharm默认帮你创建好了虚拟环境。
项目文件关系图
首先来看看路由文件,这个文件是负责处理请求路径的。
当路由过来后,执行views的函数。注意我这里的时APP下的函数,函数放在views下
模板文件
我们读取的HTML文件就放在我们的模板文件当中。
之后时models文件,这个就是负责我们对数据库的处理部分。
多重路由
当我们的逻辑处理复杂时就需要使用到这个玩意了,我们一般在项目设置多重路由。
我们可以在应用当中创建路由文件。
这个其实和主路由文件很像。
然后我们去主路由文件声明。
那么当你访问 /Two/index这个目录时就会得到响应。
Django数据库的配置
激活默认sqllite
在Django当作默认带有一个数据库
接下来请使用pycharm的数据库工具,vscode请下载相关插件(目前我学习的环境还是windows等我做项目了将迁移到Ubuntu,写md文档是个好习惯,我会不断记录并上传到csdn)
找到箭头指向的位置,我的时2018专业版,如果是其他版本可能不在这个位置,找一下。
那么此时你的右侧就会出现表,但是还没完,你得迁移一下。
输入指令(控制台)
python manage.py migrate
如果一切顺利的话你就可以看到如下图:
之后你就可以点击表进行查看,更改等,非常方便。
切换数据库(sql)
在我们的settings可以搞定修改,但是这里还有几个问题。
'ENGINE':'django.db.backends.mysql',
'NAME':'数据库名',
'USER':'username',
'PASSSWORD':'password',
'HOST':'host',
'PORT':'port',
下载驱动安装,这里我们必然使用pymysql。但是在使用是注意一个问题,找到,初始化文件。
写下这个代码,进行驱动伪装,伪装成MYSQLDB
之后迁移,
python manage.py migrate
数据库简单操作
创建表
这个在我们的models处理。
现在我们创建了表,但是还要,完成映射,也就是把文件代码转一下
python manage.py makemigrations
然后会生成这样的文件
然后在迁移
python manage.py migrate
CURD简单操作
这个就直接演示流程了。
1. 找到表,也就是定义表的那个类,这里是Student类
2. 对实例对象操作(students = Student())
3. 增加 例如: students.name = ‘jack’,students.name = 'jack1’此时就会加入两个数据
4. 读取 students.object,all()读取所有 students.object.get(条件例如:pk=2找到id=2的)
5. 修改,基于查询,找到后直接修改 例如:stu1 = students.object.get(pk=2) stu1.name=‘hello’
6. 删除,基于查询,直接delete() stu1.delete()
7. 最后,所有的操作都必须提交
8. students.save()否则提交不了
补充
示图过程
以上是关于Django学习系列(一.初识)的主要内容,如果未能解决你的问题,请参考以下文章
西游之路——python全栈——Django的form组件初识