zoukankan      html  css  js  c++  java
  • 一步一步的django学习---002

    项目的执行分析:

    在001篇中的简单项目,我们可以对项目的执行做出如下分析:

    1.服务器执行开始,根据settings中的ROOT-INF的设置,调入urls的内容,

    2.从urls中urlpattern下的url()的顺序,来对应我们在浏览器地址栏中输入的地址,如果地址栏中:127.0.0.1:8000/xxx后的xxx为index则默认执行第一个urlpattern.匹配成功之后,通常会执行url()右端参数的操作。

    3.我们的简单例子中是view.hello,也就是说执行view文件中的hello函数

    4.hello函数返回的是HttpResponse()函数值,也就是对应的参数值。将它进行返回。浏览器得到对应的值,并进行显示。结束。

    从上面四点,我们大概了解到了django的执行过程 urls->url()->对应往下执行。

    视图和数据分离:

    那么,现在我们做如下修改,数据和视图进行分离。什么意思呢?就是数据放在一个地方,而视图不是直接显示数据,而是一个变量。

    将view中的hello函数做如下修改:

    def hello(request):

          context        ={}

          context['hello'] = 'helloGHJ!'

          return render(request,'hello.html',context)

    在这里,我要做下解释,相信context很好理解,相当于数组,或者说字符串形式A【b】,第一句是定义一个字符串,第二句是设定字符串中的值。

     那么接下来就是render函数了。render函数具体的参数及其作用是什么,我不是很清楚,但是,根据执行情况,我们可以做出如下猜想,request,是获得hello.html中的变量值,然后将变量值带入context中,获得变量具体的值,也就是说此时,通过request,将变量和context似字符串的字符串进行相关联,具体z值代入hello.html中,将它进行返回,显示出了对应的view,这里的视图在html文件中,通过request,将字符串和变量关联。则可以将数据放在字符串中,变量放在视图中,这是实现数据和视图的分离方式之一。

    下面,我们要创建一个templates文件夹,用来存放html文件,这是django模板方面的内容,我在这里进行简单说明,具体参照003进行配置Templates文件夹。在根目录下创建templates文件夹,找到在settings文件的TEMPLATES下的DIR部分的[],这个符号内部输入BASE_DIR + “/templates”, 说明模板的位置。在模板下新建hello.html文件,在文件中输入<p>{{hello}} 即可,这里的hello相当于一个变量。被view中的hello引用。

    最后在cmd中输入:python  manage.py runserver 启动服务器。

    温馨提示:如果在运行过程中因为运行错误而去修改了view.py等核心组件,请务必重启服务器再做测试,然后一定要有耐心,因为真的不难,就是细节很重要

    敢于面对难题,敢于面对自己。
  • 相关阅读:
    HDU2586 How far away?(tarjan的LCA)
    You Raise Me Up
    POJ2891 Strange Way to Express Integers(中国剩余定理)
    POJ2142 The Balance(扩展欧几里得)
    HDU 1166模仿大牛写的线段树
    NetWord Dinic
    HDU 1754 线段树裸题
    hdu1394 Minimum Inversion Number
    hdu2795 Billboard
    【完全版】线段树
  • 原文地址:https://www.cnblogs.com/cittysteven/p/9546546.html
Copyright © 2011-2022 走看看