环境:
python3.7
IDE:pycharm
MySQL +workbench
一 . pycharm里建一个Django项目
1.给pycharm配置Django
file-setting-“+”号搜索添加Django
2.file-new project-Django,命名项目为:HelloWorld
现在点击下pycharm右上角的运行,在浏览器输入 http://127.0.0.1:8000,看到下列界面就说明项目创建成功了
二. 来让页面显示点东西,了解下视图和URL关系
视图
我们先在view.py里加入以下代码:
这是hello函数,返回的是一个http请求。也就是说,通过http请求调用hello函数,返回“Hello world”http给请求页面。
那么问题来了,请求页面如何调用hello函数?通过URL。这就需要把URL和hello函数绑定:
打开 urls.py 文件,删除原来代码,将以下代码加入到 urls.py 文件中:
from django.conf.urls import url
from . import view
urlpatterns = [
url(r'^$', view.hello),
]
至此,第一个小项目算是完成了
三.模板
hello.html 文件代码如下:
<h1>{{ hello }}</h1>
通过上述步骤,我们可以了解到:
1.模板是什么
我们在(二)中是通过HttpResponse接口来传递传递和显示,在本例中依然是通过http请求调用hello函数,但是对request返回数据指定了HTML模板,模板规定了一系列显示规则,模板和request是通过context上下文进行交互(这点作为了解)。更通俗一点说,模板绑定了返回数据,并依据规则显示。
2.setting配置告诉程序模板在哪里。
view和模板建立了绑定关系,但view并不知道模板住在哪里,还需要一个向导,告诉他模板hello.html在哪。
3.一点小理解。
通过上面的步骤,我们很容易联想到Javaweb的MVC结构,二者极其相似。
三.模型
讲完视图,模板,URL,我们来聊聊模型。什么是模型?模型有啥作用?我们先来继续使用上面的例子。
上述页面显示内容是直接来自py文件,也就是人们常说的后端,是写死的。如何让页面显示来自数据库的内容呢?接下来我们开始讲一下Django链接MySQL数据库。
要连接数据库第一步肯定是下载安装啦,推荐直接下载个带可视化的MySQLworkbench,like this:
MySQL下载安装好,设置好用户名用户密码,创建好数据库(test),下一步在setting.py里配置数据源:
1.进入file-setting-搜索添加pymysql或者SQL-client。
2.
现在数据源就配置好了。
接下来我们来定义模型:
这个创建APP的过程可能有点绕,我是从pycharm的python里的目录找到这个py文件通过在文件所在目录打开cmd,运行django-admin startapp TestModel 来完成的,如果生成的TestModel位置不对,还要参照上述目录结构,把这个TestModel放到对应位置。(PS,后面也多次用到cmd命令,让我很不爽,不应该直接在pycharm里都搞定吗。)
创建好APP,我们可以进行建表工作了。
models里创建的类Test,就是对应数据库里的一个表;name,就是表的字段名,charfield表示字符类型,后面还有长度限制。
如何触发建表?
第一种方式如下:
第二种方式,去pycharm-tools里找到Run manage.py Task并运行,运行后,按第一种方式的命令输入关键词,比如migrate。执行结束后,数据库会有新的表生成.
建完表,我们说一下在哪里写数据的增删改查。
从上面可看出,我们的数据操作都要写在testdb里。增删改查如下:
至此一个带有mysql数据库的结构完善的小项目就介绍完了。