首先实现一个前端输入网址,后端返回不同的html文件的步骤

一、配置django

  1、创建工程

  2、创建app

二、配置setting

  1、配置templates路径

  2、注释跨站请求

三、配置project的url

  1、导入指定app的视图文件views

  2、做路由分发

四、配置app的视图函数

  1、导入指定的模块

  1.   from django.shortcuts import render
  1.   from django.shortcuts import HttpResponse
     
     2、写视图函数,该函数必须有一个形参request,通过HttpResponse返回一个字符串,通过render返回一个指定的html文件

五、启动django

  python manage.py runserver 8080

六、模板语言,django使用的模板语言为jinjia2,下面的文档在html文件中写

  1、替换变量的方法{{变量名}}

  2、for循环的方法

  {{ for i in user_list}}

  <tr>

    <td>{{i.username}}</td>

    <td>{{i.username}}</td>

    <td>{{i.username}}</td>

  </tr>

  {% endfor%}

七、配置数据库

  1、查看数据的引擎

  2、在对应的app的models文件创建数据库表的类

  3、在对应的views中通过modes中的表中插入数据

  4、获取数据库中的数据

这个取到的数据是一个list,每一行是一个元素,其中每个元素又是一个字典

八、引入静态文件

  1、配置settings文件,注意这里的逗号必须要有

  

  

  2、在static目录下存放jquery文件

  3、在html文件中引入jquery文件,注意这里的static前面的斜杠必须要有

  

  4、我们还可以把jquery文件放在static下面的目录中

  

  5、我们在html文件中引入的路径也要加上jq这个路径就可以了

  

九、路由系统的映射【路由分配或者叫路由分配】,是url和视图函数之间的映射表

  

  1、url的类型1,完全匹配

  urls.py文件中的内容

  

  views.py文件中的内容

  

  页面访问这个urls

  

  2、匹配多个数字[0-9],{5}

  urls.py中的内容

  

  views文件中的内容

  

  前端访问这个url

  

  

  

  3、如果在url中加一个括号的话,如果直接访问就会报错,加了一个括号,我们就可以把路径中的某个字符串传递到视图函数中

  

  这样在访问的话就会报错

  

  如果加一个括号是什么意思呢?他的意思是一个括号就相当于一个参数,而这参数是由这个url对应的视图函数来接受,一个括号,就需要加一个参数,两个括号,就需要加2个参数,三个括号,就需要在视图函数中在加一个参数

  所以我们按照下面的方式编写视图函数

我们在通过页面去访问这个url,就可以打印这个形参的值

下面我们测试一下2个括号

我们在看视图函数页面

我们在通过页面去访问这个url

上面的url的参数都是无名参数,我们只能通过位置顺序来匹配函数,比如第一个括号的值传递一个第一个形参,第二个括号的值传递给第二个形参。。。。。。 

我们在来看下命名的参数,这里的意思第一个括号中的变量赋值给变量year,第二个括号中的变量赋值给mounth

我们在视图函数中可以这样接收变量

通过web页面访问这个url得到下面的效果

我们不仅仅可以传递路径中的变了,我们还可以传递另外的参数到函数中,我们看下面的例子,变量的名称是name,变量的值是zyb,如果在路径中有一个变量的名称是name,而在外面也有一个变量的名称为name,那么外面这个name的变量的值会生效,里面的name的变量的值会被覆盖

编写views文件,我们在函数中就可以使用外面定义的这name的变量

  

通过前端访问这个url

十、二级路由分发,这个意思就是在project中的url只用来分发url,把url分发到每个app的url中,然后在每个app中的url的在分发到每个app中的app中

1、在project的views文件中先导入include

2、在views中将以特定字符串的url分发到指定的app的url中

3、到指定的app的目录下编写urls文件

4、到指定的app的目录下编写views文件

5、这个时候我们通过页面访问这个地址http://127.0.0.1:8080/blog/news/

django的流程分析的更多相关文章

  1. django源码分析 python manage.py runserver

    django是一个快速开发web应用的框架, 笔者也在django框架上开发不少web应用,闲来无事,就想探究一下django底层到底是如何实现的,本文记录了笔者对django源码的分析过程 I be ...

  2. python 带参与不带参装饰器的使用与流程分析/什么是装饰器/装饰器使用注意事项

    一.什么是装饰器 装饰器是用来给函数动态的添加功能的一种技术,属于一种语法糖.通俗一点讲就是:在不会影响原有函数的功能基础上,在原有函数的执行过程中额外的添加上另外一段处理逻辑 二.装饰器功能实现的技 ...

  3. Django 工作流程

    一.Django 工作流程 在开始具体的代码之旅前,先来宏观地看下Django是如何处理Http Resquest的,如下图: 假设你已经在浏览器输入了 http://127.0.0.1:8000/p ...

  4. APIView的流程分析

     APIView的流程分析 1.入口,因为视图类的继承APIView()的 as_view()是一个绑定类的方法 2.进入as_view(),正好这个as_view()有个返回值 返回的是dispat ...

  5. rest_framework框架之认证功能的使用和源码实现流程分析

    rest_framework框架之认证的使用和源码实现流程分析 一.认证功能的源码流程 创建视图函数 Note 创建视图函数后,前端发起请求,url分配路由,执行视图类,视图类中执行对应方法必须经过d ...

  6. django源码分析——处理请求到wsgi及视图view

    本文环境python3.5.2,django1.10.x系列 根据前上一篇runserver的博文,已经分析了本地调试服务器的大致流程,现在我们来分析一下当runserver运行起来后,django框 ...

  7. 8、Struts2 运行流程分析

    1.流程分析: 请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 ...

  8. freeswitch呼叫流程分析

    今天翻文档时发现之前整理的关于freeswitch呼叫相关的内容,写成博文分享出来也方便我以后查阅. 整体结构图 FreeswitchCore 模块加载过程 freeswitch主程序初始化时会从mo ...

  9. u-boot 流程分析

    u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 ,  这个启动程序就叫启动加载程序(Boot ...

随机推荐

  1. Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图

    Maven 组件界面介绍 如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有: 第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项 ...

  2. KCP 传输协议

    作者:韦易笑链接:https://www.zhihu.com/question/36258781/answer/98944369来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  3. 【Linux_Unix系统编程】Chapter8 用户和组

    chapter8 用户和组 8.1 密码文件 /etc/passwd 每行都包含7个字段,之间用冒号分割,如下所示: mtk:x:1000:100:Michael:/home/mtk:/bin/bas ...

  4. iOS线程开发小结

    在iOS开发线程操作时,一般方法名决定是否开启新线程(async,sync),队列类型(全局队列,串行队列)决定开启多少条线程 1.快速线程调用 *开启后台线程执行任务 [self performSe ...

  5. SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法

    写法: 假装有个表Shop,其中有一列ShopName,取100000到100050条数据. ROW_NUMBER 的写法 SELECT * FROM ( SELECT ShopName , ROW_ ...

  6. jshint在bat批处理中闪退,代码中无法调用的问题

    先说解决办法:加个call eg: call jshint --version Pause 具体原因有空再更

  7. express 3.5 Err: request aborted

    在处理app传过来的图片时遇到的,顾名思义,就是请求中断,图片在传输过程中遇到了网络不良问题,express 3.5 的中间件 bodyParser会在我们操作这些图片之前接收它们,接收过程中传输中断 ...

  8. linux更换shell外壳zsh

    linux-外壳内核与shell的关系 内核处于外壳之中,通过外壳与shell(命令行)交互 外壳可以更换 ############################################## ...

  9. centos7.3nginx配置二级域名过程

    nginx1.10.2 1先检查 /etc/nginx/nginx.conf 是否include  conf.d include /etc/nginx/conf.d/*.conf; 默认都是包含的,如 ...

  10. leetcode965

    public class Solution { List<int> list = new List<int>(); private void postTree(TreeNode ...