9.Django应用及分布式路由

目录

1  应用

1.1  创建应用文件夹

1.2  配置应用文件夹

2  分布式路由

2.1  在应用中创建urls.py

2.2  主路由中调用include函数

3  在应用中使用模版


1  应用

django中的应用相当于flask中的蓝图,一个应用中可以有自己的路由,视图,模版,模型,但是一个应用不能独立运行,使用应用的目的是方便继承

1.1  创建应用文件夹

使用 python manage.py startapp [应用名称] 创建应用文件夹,我们现在创建一个名为login的应用

创建之后我们在项目路径下就可以看到这个文件夹

  • migrations放置模型层(数据库)的内容
  • __init__.py 初始化文件,只要是包都会有
  • admin.py 与管理后台相关
  • app.py 应用中的相关配置
  • models.py 模型层的入口
  • test.py 用来测试应用的
  • views.py 放视图的

1.2  配置应用文件夹

在setting.py中有一个INSTALLED_APPS,上面的django.这些都是创建项目时就有的,我们刚刚创建了应用login,我们就把login写在这里

2  分布式路由

之前我们都是将所有路由都写在urls.py这个文件中,如果要改会麻烦一点,现在我们使用分布式路由,不在urls.py处理具体路由,只做路由的分发,就像下面这样

我们下面开始配置

2.1  在应用中创建urls.py

我们首先在应用文件夹下创建一个urls.py,之后填写内容,内容与主路由相似,为了后面测试我们加上一个路由hello

并且写一个相对应的视图

  • 注意这里改的是login/views.py

2.2  主路由中调用include函数

我们在主路由中这样写

前面的 login/ 是路由的名字,这个能自定,后面的 login. 是应用的名字,要与之前创建的一致

现在我们访问一下

3  在应用中使用模版

如果要使用应用中的模版文件,我们要保证setting.py中的TEMPLATES的APP_DIRS为True

  • 默认就是True

之后我们在应用文件夹下创建templates文件夹,然后创建一个html文件,命名为this_is_a_template

我们在项目路径下的templates中也有相同名称的模版,当两个模版名称相同时,会优先使用项目路径下的模版

这两个我写了不同的内容

我们现在在应用中创建一个视图

然后创建一个路由

访问一下,发现使用的是我们项目路径下的模版,说明项目路径模版下的优先级更高

如果我们想用应用中的模版,我们就将其改个名字,然后将视图中的名称也换掉

这样就会使用应用下的模版了

除了项目路径与应用路径下模版的顺序,如果有多个应用,应用之间的模版也有读取顺序

比如我又写了一个应用register,那么它就会先读login的模版,再读register的模版,哪个应用再上面哪个优先级高

一定注意不是优先应用自身的模版,所以模版最好不要重名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值