Django 工作流程

一、Django 工作流程

在开始具体的代码之旅前,先来宏观地看下Django是如何处理Http Resquest的,如下图:

这里写图片描述

假设你已经在浏览器输入了 http://127.0.0.1:8000/polls/,接下来浏览器会把请求交给Django处理。根据上图,我们知道Django需要根据url来决定交给谁来处理请求,那么Django是如何完成这项工作呢?很简单,Django要求程序员提供urls.py文件,并且在该类文件中指定请求链接与处理函数之间的一一对应关系。

在Django中的urls.py添加以下语句,即可指定请求链接与处理函数之间的一一对应关系。

urlpatterns = patterns(
    '',
    url(r'^polls/$', views.index),
)

这样当请求链接为http://127.0.0.1:8000/polls/时,就会用views.py中的函数index()来处理请求。现在Django知道由index来处理请求了,那么index需要做哪些工作呢?

它需要加载返回内容的模板,这里比如说是index.html。

def index(request):

    return render(request,'index.html')

在模板方面,模板文件就是返回页面的一个骨架,我们可以在模板中指定需要的静态文件,也可以在模板中使用一些参数和简单的逻辑语句,这样就可以将其变为用户最终看到的丰满的页面了。 
要使用静态文件,比如说css、javascript等,只需要用{% load staticfiles %}来声明一下,然后直接引用即可。

在数据库方面,Django给我们封装了数据库的读写操作,我们不需要用SQL语句去查询、更新数据库等,我们要做的是用python的方式定义数据库结构(在model.py里面定义数据库),然后用python的方式去读写内容。至于连接数据库、关闭数据库这些工作交给Django去替你完成吧。

至此,整个框架的简单介绍结束。

二、

这张图片是我对django工作流程一个大致的分析。

在你写好一个完整的django后,它的工作流程应该是这样的:

    1.用户在客户端浏览器输入URL地址,通过get/post请求方式,向服务端发起请求。

    2.django服务端接收到客户端请求,通过urls.py中地址与处理函数之间的一一对应,找到对应的视图函数。

    3.开始执行对应视图函数中的逻辑,通过与models交互,进行数据库的CRUD,django已经封装好了数据库操作方法,不需要额外的sql语句在进行数据库操作。

    4.与templates交互,将参数返回到前端页面,并通过templates进行html页面渲染。

这是我学习django框架后对它的工作流程的简单了解,如果有不对的地方,欢迎指正。

本文主要摘自:1.   https://blog.csdn.net/xsj_blog/article/details/53737424

       2.   https://blog.csdn.net/kukudehui/article/details/79465020

原文地址:https://www.cnblogs.com/fwl8888/p/9362219.html