django 学习笔记

来源:互联网 发布:自动算账软件 编辑:程序博客网 时间:2024/06/05 14:06
Django 是 Python 驱动的一个开源的模型-视图-控制器(MVC)风格的 Web 应用程序框架,网上有很多安装以及入门的教程,这里不多做介绍,这篇博客里主要介绍一下在电影网站前后端接口开发过程中对django这个框架的学习过程及应用。

下载安装完django以后,我们就可以利用它来进行开发了。学习这个框架可以通过官方文档来学习,django 1.10中文文档的链接http://www.cnblogs.com/feixuelove1009/p/5910384.html,里面有非常详细的入门教程,而且还提供了一些实例


开发时,我是根据我们设计的数据库模型来进行数据库和接口的设计的,数据库模型如下:


在设计时,我们可以根据以上的数据库模型图来进行数据库的设计,在具体设计过程中,我们又做了一些改动,结果和上面不完全一样。在django这个框架里,可以直接利用python代码来描述数据库的设计,以评论的模型为例,如下:

定义model相当于在数据库中建立了一张对应的表,模型中的字段对应于数据库表中的列。运行


定义model时可以不定义主键,因为django会自动为模型添加一个字段名为id的主键:

id = models.AutoField(primary_key=True)
也可以自己将字段设为primary_key = True


修改模型后,运行python manage.py makemigrations为改动创建迁移记录,运行python manage.py migrate,将迁移同步到数据库,落实修改动作。

1 python manage.py makemigrations2 python manage.py migrate



接下来设计对前端发来请求的响应,在views.py里进行定义,这里以用户的登入登出和注册为例,其它的函数设计大同小异,都是解析json请求以后返回相应的数据或者进行修改,主要是根据沟通好发送的数据格式进行设计:


这部分主要是沟通好发送的设计,这里设计的是接受POST请求。如果发来的request是POST方法,就利用simplejson这个库里的函数对请求的body进行解析,设计时规定了传输username和password,解析后在数据库里找对应的数据,如果匹配,返回success,否则返回fail;

注册帐号时,如果数据库里有对应用户名,返回注册失败;否则在数据库里创建新的条目。


这部分的设计感觉都大同小异,我想举以上的例子进行说明已经充分了,已经包括了接收请求,响应,与数据库的交互这方面的实践了,就不再多举例子了。


另外,django还提供了rest的框架,import了rest framework以后可以把接口设计为restful的。django rest framework的学习文档:http://blog.csdn.net/ppppfly/article/details/51103984

举一个文档里的例子:

导入库:

然后我们可以把返回做修改:




最后总结一下,我没有接触过太多的框架,但是在用django的时候感觉这个框架还是比较适合新手入门的,因为感觉这个框架入手很简单,而且官方文档很齐全,实例也很丰富,很多库都封装好了,设计起来也比较简单,只要沟通好数据格式设计好逻辑就行了。