Django小项目--待办清单(二)

1.创建APP。在上一篇博客中,我们进入了to_do_list项目所在的文件夹,运行项目是通过项目下面的APP来运行的,所以我们首先需要创建一个to_do_list的APP,这里我们起名为todolist.

2.创建的APP首先在命令行输入cd to_do_list进入命令行,之后再输入python manage.py startapp todolist,这样就算创建了一个APP,但是不是创建完就可以使用的,还需要先对APP进行注册。

3.在to_do_list文件夹中找到settings.py,用IDE打开之后找到INSTALLED_APPS,这是一个列表,我们只需要在最后把APP的名字添加进去即可。

4.接下来我们先看一下整个项目的结构。

需要说明的是todolist文件夹里面的urls.py是我们自己手动创建的,而to_do_list文件夹下的urls.py是创建项目之后自动生成的。其中to_do_list下的__init__.py和wsgi.py暂时用不到就先不说。我们先看urls.py长什么样。

5.点开urls.py我们看到如下的样子,


这个urls.py的作用就是我们在浏览器上输入网址的时候,该网址就会和这里面的path路径匹配,和谁匹配成功,就交给谁处理。大概就是这么个意思。这里的urls.py是我已经修改过的了,一开始是没有第二个path的,那么我么接下来将第二个path的工作原理。

6.我们先看第一个参数todo/,这的参数意思是当我们输入的网址为localhost:8000/todo/时,就会和这个path进行匹配。由于我们就是运行在localhost:8000上的,所以这个其实是可以忽略的。

7.第二个参数,我们需要先了解include()函数的作用,这个函数的作用是对网址进行切割,并把剩余的部分传给todolist.urls。

举个例子,我们输入的是localhost:8000/todo/home,那么我们进行切割的时候,会把home之前的全部切割掉,保留home,然后将home传递给todolist.urls。

8.这个时候我们再看看todolist.urls,说明我们要将home传到名为todolist的app中的urls.py里面,这个urls.py的功能和to_do_list的urls.py的功能其实是一样的,就是匹配然后进行下一步操作。

9.点开todolist下的urls.py,

这里只看第一个。我在第八点说的将home传了进来,就是要进一步进行匹配。这样做的原因是我们一个项目可以有很多个app,那么在浏览器输入的网址可能是要交给另外一个app处理的,因此我们第一步首先要通过第一个urls.py将网址进行分发,发放给可以处理这个网址的app,然后这个app再对该网址进行处理。

10.那么将home传进了todolist.urls后我们会发现,第一个path就是和这个传进来的参数想匹配的。因此,我们将这个网址交给,views.home来处理。这就相当于第一个urls.py是快递根据邮编发送到某个城市,然后该城市再通过地址将快递送到你手上,交给views.home处理就是最后一步。

11.我们会发现todolist这个app下自带了一个views.py,这个是视图文件,专门用来处理我们的请求。我已经写好了,所以直接贴上来,我们先不要管那些注释掉的。

12.看函数名,这是我们自己写的函数,因为views.py原本是一个空的py文件,需要我们自己添加函数,我们在todolist.urls里面的path看到views.home这个参数,意思就是将网址交给views.py里面的home函数来处理这个网址。request这个参数意思是请求,因为我们要看某个网页必须要先请求。所以这里最后一句的意思就是返回通过render()渲染过后的home.html页面。

13.疑问出现了,这个home.html是哪里来的呢。没错,我们点开todolist下的template文件,

这些是我们需要自己动手写的网页,当我们的render要进行渲染时,会在templates文件夹里面寻找对应的网页。

14.到这里我们在浏览器输入localhost:8000/todo/home,就会返回我们的home.html页面。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值