书籍检索项目增删改查的场景说明:

 

Django的MTV模式解释:

如下摘自苑老师博客:
  • Model(模型):负责业务对象与数据库的对象(ORM)
  • Template(模版):负责如何把页面展示给用户
  • View(视图):负责业务逻辑,并在适当的时候调用Model和Template
  • 控制器:在页面输入URL事,进行URL的识别后转发给模板,同时从模板接收HTML文件输出给用户

 

在书籍检索项目增删改查的场景说明:

查(所有搜索): /index/

  1. 用户在浏览器输入127.0.0.1:8000/index/, 访问服务器的/templates/index.html;
  2. cms/uls.py收到此请求,匹配 url(r'^index/', views.index);
  3. migrations/views.py收到请求,匹配 def index;
  4. 匹配bookList语句,Models转换成sql语句,去数据库取数据;
  5. 结果返回给index.html,输出给用户。

查(关键字搜索): /index/

  1. 用户在任意页面上方导航栏输入搜索关键字, 访问服务器的/templates/search.html;
  2. cms/uls.py收到此请求,匹配 url(r'^search/(\w+)', views.searchBook)
  3. migrations/views.py收到请求,匹配 def searchBook;
  4. 匹配bookListC语句(通过title__icontains进行模糊匹配,类似于%like%),Models转换成对应sql语句,去数据库取数据;
  5. 结果返回给search.html,输出给用户。

增: /add/

  1. 用户在任意页面上方导航栏右侧点击“书籍添加”, 访问服务器的/templates/add.html;
  2. cms/uls.py收到请求,匹配 url(r'^add/', views.add),
  3. migrations/views.py收到请求,匹配 def add;
  4. 新页面输出add.html,输出给用户。
  5. 用户输入书籍信息,通过views.py进入views.py中def add的if循环; 
    6.匹配models.Book.objects.createb语句,Models转换成对应sql语句,去数据库插入数据;
  6. 返回/index/,用户显示首页。

删: /del/*

  1. 用户在首页,或者检索页面点击某一条结果右侧的“删除” ,访问服务器的/templates/del.html;
  2. cms/uls.py收到此请求,匹配 url(r'^del/(\d+)', views.delBook);
  3. migrations/views.py收到请求,匹配 def delBook;
  4. 匹配models.Book.objects.filter(id=id).delete()语句,Models转换成sql语言,去数据库删除数据;
  5. 结果返回给/index/,输出给用户。

改: /edit/*

    1. 用户在任意页面上方导航栏右侧点击“书籍添加”, 访问服务器的/templates/edit.html;
    2. cms/uls.py收到请求,匹配 url(r'^edit/(\d+)', views.editBook)
    3. migrations/views.py收到请求,匹配 def edit;
    4. 新页面结果返回该id的所有数据给edit.html,输出给用户。
    5. 用户更改书籍信息,通过views.py进入views.py中def edit的if循环; 
      6.匹配models.Book.objects.filter语句,Models转换成对应sql语句,去数据库修改数据;
    6. 返回/index/,用户显示首页。
posted on 2017-11-10 15:09  HugoYao  阅读(265)  评论(0)    收藏  举报